Hallo,
ich hab eben festgestellt, dass der Formulargenerator aus der 3.2er Demo nicht mehr mit der 4er Version funktioniert. Gibt es da bereits eine Lösung? Oder weiß jemand was ich verändern muss, dass er wieder funktioniert?
Vielen Dank,
Zonk
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
FIXED: Formulargenerator für 4.0
Zuletzt geändert von Markus.Lorch am 22. Okt 2007, 21:47, insgesamt 2-mal geändert.
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Hallo Harrybrader,
danke für den Link. Den hab ich wohl übersehen.
Leider gab es da auch noch keine funktionierende Lösung. Aber das ganze hat mich auf eine Idee gebracht. Und ich hab tatsächlich nun ein funktionierendes Modul.
Ich hab zwar weder rex_get(), rex_post() und rex_request() verwendet, da mir die Anwendung auf die Schnelle unklar war... und auch rex_mailer() gibts gar nicht - bei mir jedenfals.
Aber es funktioniert. Es steht jedem Frei das besser zu machen... ich bin kein Profi.
Modulausgabe: ACHTUNG: Addon "phpmailer" muss installiert + aktiviert sein!
danke für den Link. Den hab ich wohl übersehen.
Leider gab es da auch noch keine funktionierende Lösung. Aber das ganze hat mich auf eine Idee gebracht. Und ich hab tatsächlich nun ein funktionierendes Modul.
Ich hab zwar weder rex_get(), rex_post() und rex_request() verwendet, da mir die Anwendung auf die Schnelle unklar war... und auch rex_mailer() gibts gar nicht - bei mir jedenfals.
Aber es funktioniert. Es steht jedem Frei das besser zu machen... ich bin kein Profi.
Modulausgabe: ACHTUNG: Addon "phpmailer" muss installiert + aktiviert sein!
Code: Alles auswählen
<?php
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;
$mailbody = <<<End
REX_HTML_VALUE[5]
End;
$formname = "kontaktform";
$submitlabel = "REX_VALUE[7]";
$style = ' style="color:#f00;"';
$formoutput = array();
$warning = array();
$form_elements = array();
$form_elements = explode("\n", $rex_form_data);
for($i=0;$i<count($form_elements);$i++){
$element = explode("|", $form_elements[$i]);
$AFE[$i] = $element;
switch($element[0]){
case "headline":
$formoutput[] = '<p>'.$element[1].'</p>';
break;
case "text":
if($_POST['FORM'][$formname]["el_".$i] == "" && !$_POST['FORM'][$formname][$formname."send"]){
$_POST['FORM'][$formname]["el_".$i] = trim($element[3]);
}
if($element[2] == 1 && (trim($_POST['FORM'][$formname]["el_".$i]) == "" || trim($_POST['FORM'][$formname]["el_".$i]) == trim($element[3])) && $_POST['FORM'][$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] = '
<label class="text" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
<input type="text" class="text" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlentities(stripslashes($_POST['FORM'][$formname]["el_".$i])).'" /><br />
';
break;
case "textarea":
if($_POST['FORM'][$formname]["el_".$i] == "" && !$_POST['FORM'][$formname][$formname."send"]){
$_POST['FORM'][$formname]["el_".$i] = $element[3];
}
if($element[2] == 1 && (trim($_POST['FORM'][$formname]["el_".$i]) == "" || trim($_POST['FORM'][$formname]["el_".$i]) == trim($element[3])) && $_POST['FORM'][$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] = '
<label class="textarea" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
<textarea class="textarea" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" cols="80" rows="10">'.htmlentities(stripslashes($_POST['FORM'][$formname]["el_".$i])).'</textarea><br />
';
break;
case "select":
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."]");
$SEL->set_id("el_".$i);
$SEL->set_size(1);
$SEL->set_style(' class="select"');
if($_POST['FORM'][$formname]["el_".$i] == "" && !$_POST['FORM'][$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($_POST['FORM'][$formname]["el_".$i]);
}
foreach(explode(";", trim($element[4])) as $v){
$SEL->add_option( $v, $v);
}
if($element[2] == 1 && trim($_POST['FORM'][$formname]["el_".$i] )== "" && $_POST['FORM'][$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] = '
<label class="select" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
'.$SEL->out().'<br />';
break;
case "checkbox":
if( (trim($_POST['FORM'][$formname]["el_".$i] )== "1" ) || ($_POST['FORM'][$formname]["el_".$i] == "" && !$_POST['FORM'][$formname][$formname."send"] && $element[3] == 1)){
$checked = ' checked="checked"';
$hidden="";
}
else {
$checked = "";
$hidden = '<input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" /><br />';
}
if($element[2] == 1 && trim($_POST['FORM'][$formname]["el_".$i]) == "" && $_POST['FORM'][$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] =
$hidden.'
<input type="checkbox" class="checkbox" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="1" '.$checked.' />
<label class="checkbox" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label><br />
';
break;
}
}
$out = '
<div id="form-module">
<form action="'.rex_getUrl($this->getValue("article_id")).'" method="post">
<fieldset>
<legend>'.$formname.'</legend>
<input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" />';
foreach($formoutput as $v){
$out .= '
<div class="element">'.$v.'</div>';
}
$out .= '
<div class="element">
<input type="submit" name="FORM['.$formname.']['.$formname.'submit]" value="'.$submitlabel.'" class="submit" />
</div>
</fieldset>
</form>
</div>';
if($_POST['FORM'][$formname][$formname."send"] == 1 && count($warning)==0){
$mail = new PHPMailer();
$mail->AddAddress("REX_VALUE[1]");
$mail->From = "REX_VALUE[2]";
$mail->Subject = "REX_VALUE[4]";
foreach($_POST['FORM'][$formname] as $k=>$v){
if($k != $formname."submit" && $k != $formname."send")
$mailbody .= $AFE[ereg_replace("el_","",$k)][1]." ".stripslashes($v)."\n";
}
$mail->Body = $mailbody;
$mail->Send();
print '<div id="form-module-thanks">'."REX_VALUE[6]".'</div>';
}
else {
print $out;
}
?>
Zuletzt geändert von Markus.Lorch am 22. Okt 2007, 13:55, insgesamt 2-mal geändert.
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Hallo Markus,
Letztlich habe ich überall $FORM durch $_POST['FORM'] ersetzt.
Beispiel: Orginal
Beispiel: Nachher
Dann hab ich die Mailfunktion selbst mit der php Funktion mail() geflickt.
Das war dann auch schon alles. Ich selbst bin mit der Lösung nicht so ganz zufrieden, da ich sie als Unsauber empfinde. Aber zwei grobe Tests haben funktioniert.
Grüße,
Zonk
Letztlich habe ich überall $FORM durch $_POST['FORM'] ersetzt.
Beispiel: Orginal
Code: Alles auswählen
if($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"])
{
$FORM[$formname]["el_".$i] = trim($element[3]);
}
Code: Alles auswählen
if($_POST['FORM'][$formname]["el_".$i] == "" && !$_POST['FORM'][$formname][$formname."send"])
{
$_POST['FORM'][$formname]["el_".$i] = trim($element[3]);
}
Code: Alles auswählen
if($_POST['FORM'][$formname][$formname."send"] == 1 && count($warning)==0){
$f_Empfaenger = "REX_VALUE[1]";
$f_Absender = "REX_VALUE[2]";
$f_Betreff = "REX_VALUE[4]";
foreach($_POST['FORM'][$formname] as $k=>$v){
if($k != $formname."submit" && $k != $formname."send")
$mailbody .= $AFE[ereg_replace("el_","",$k)][1]." ".stripslashes($v)."\n";
}
$f_Inhalt = $mailbody;
mail($f_Empfaenger, $f_Betreff, $f_Inhalt, "From: $f_Absender");
print '<div id="form-module-thanks">'."REX_VALUE[6]".'</div>';
}
else {
print $out;
}
Grüße,
Zonk
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
So.
Ich hab jetzt festgestellt, dass man ja das PHPmailer Addon installieren sollte...^^ Da hab ich mal wieder nicht bis zu Ende gedacht.
Also:
Der Mailteil funktioniert nun (vorausgesetzt das phpmailer Addon ist installiert und aktiviert) mit folgendem nur etwas geringer verändertem Code:
Ich hab das auch weiter oben schon korrigiert.[/code]
Ich hab jetzt festgestellt, dass man ja das PHPmailer Addon installieren sollte...^^ Da hab ich mal wieder nicht bis zu Ende gedacht.
Also:
Der Mailteil funktioniert nun (vorausgesetzt das phpmailer Addon ist installiert und aktiviert) mit folgendem nur etwas geringer verändertem Code:
Code: Alles auswählen
if($_POST['FORM'][$formname][$formname."send"] == 1 && count($warning)==0){
$mail = new PHPMailer();
$mail->AddAddress("REX_VALUE[1]");
$mail->From = "REX_VALUE[2]";
$mail->Subject = "REX_VALUE[4]";
foreach($_POST['FORM'][$formname] as $k=>$v){
if($k != $formname."submit" && $k != $formname."send")
$mailbody .= $AFE[ereg_replace("el_","",$k)][1]." ".stripslashes($v)."\n";
}
$mail->Body = $mailbody;
$mail->Send();
print '<div id="form-module-thanks">'."REX_VALUE[6]".'</div>';
}
else {
print $out;
}
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Oh^^ Da hab ich eben meinen Beitrag Editiert.... sollt ich drauf verzichten in Zukunft.
Also das rex_mailer() problem hab ich gelößt. Ich musste natürlich das AddOn auf "mail" konfigurieren. Das scheint bei PHPMailer wohl nicht nötig gewesen zu sein.
Aber nu steh ich vor dem leeren Formular. Vllt magst du dir das mal an sehen.
http://rex4.red-line.org/73/0/Kontakt-2.html
Das ist quasi das Formular so wie ichs von dir runtergeladen hab.
Und sobald ich was reinschreib und absende bin ich wieder vor dem leeren Formular. Während unter dem Link "Kontakt" meine Veränderung läuft. Allerdings kann ich auch nicht erkennen wo der Unterschied liegt.
Also das rex_mailer() problem hab ich gelößt. Ich musste natürlich das AddOn auf "mail" konfigurieren. Das scheint bei PHPMailer wohl nicht nötig gewesen zu sein.
Aber nu steh ich vor dem leeren Formular. Vllt magst du dir das mal an sehen.
http://rex4.red-line.org/73/0/Kontakt-2.html
Das ist quasi das Formular so wie ichs von dir runtergeladen hab.
Und sobald ich was reinschreib und absende bin ich wieder vor dem leeren Formular. Während unter dem Link "Kontakt" meine Veränderung läuft. Allerdings kann ich auch nicht erkennen wo der Unterschied liegt.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
Hmmm....
benutzt Du ein spezielles Addon für Dein Rewriting?
Vielleicht liegt es daran ..
$_SERVER["REQUEST_URI"] ersetze das durch
rex_getUrl($this->getValue("article_id"))
evtl. klappt es dann ...
Bei mir funktionieren beide Varianten, nutze aber das gewöhnliche Rewrite von Redaxo.
Auch habe ich einen weiteren Unterschied bemerkt:
Mein Formular:
<input type="hidden" name="FORM[][send]" value="1" />
Dein Formular:
<input type="hidden" name="FORM[kontaktform][kontaktformsend]" value="1" />
Hast Du im Feld Formularüberschrift was eingegeben?
Bitte trage da was ein und teste nochmal.
benutzt Du ein spezielles Addon für Dein Rewriting?
Vielleicht liegt es daran ..
$_SERVER["REQUEST_URI"] ersetze das durch
rex_getUrl($this->getValue("article_id"))
evtl. klappt es dann ...
Bei mir funktionieren beide Varianten, nutze aber das gewöhnliche Rewrite von Redaxo.
Auch habe ich einen weiteren Unterschied bemerkt:
Mein Formular:
<input type="hidden" name="FORM[][send]" value="1" />
Dein Formular:
<input type="hidden" name="FORM[kontaktform][kontaktformsend]" value="1" />
Hast Du im Feld Formularüberschrift was eingegeben?
Bitte trage da was ein und teste nochmal.
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Au verdammt^^. Das wars. Dachte das brauch ich nicht *g*klxm hat geschrieben:Hast Du im Feld Formularüberschrift was eingegeben?
Bitte trage da was ein und teste nochmal.
Der Mod_Rewrite ist der von Redaxo. Hab den nur geringfügig angepasst und auch ohne hat es nicht funktioniert.
Sollte man vielleicht als Hinweis dazuschreiben, dass man das Feld Formularüberschrift benötigt. Nicht das das noch mehr passiert.
Vielen Dank Thomas.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
So Thomas,
ich melde mich noch mal. Ich hab das Script noch dahingehend modifiziert, dass nun rex_post(); verwendet wird. Funktionieren tut das ganze so. Wie ich das anders lösen könnte ist mir spontan nicht eingefallen.
ich melde mich noch mal. Ich hab das Script noch dahingehend modifiziert, dass nun rex_post(); verwendet wird. Funktionieren tut das ganze so. Wie ich das anders lösen könnte ist mir spontan nicht eingefallen.
Code: Alles auswählen
<?php
#### KLXM Kontaktformular 3.0####################
# Stand 22.10.2007
# Angepasst an Redaxo 4.0
# Danke an Zonk
#####################################
# Danke-Meldung ist über TINYMCE pflegbar
#####################################
# Stand: 22.07.2007
# Kleine Korrekturen
#
# Stand: 17.05.2007
# CheckboxPflichtfeld gefixt, danke an drachenbau
#
# :: Sonstige Änderungen gegenüber Original aus Demo
#
# Ausgabe per htmlentities durch
# htmlspecialchars ausgetauscht.
# Fehlermeldung funktioniert jetzt auch unter utf-8
# mit Umlauten
# Kodierungsauswahl hinzugefügt
# Ausgabe in Email optimiert.
# Validierung hinzugefügt
# (siehe: http://forum.redaxo.de/sutra33242.html#33242)
# Möglichkeit zur Auswahl des Absender-Email-Feldes
#############################################
# KLXM-Version 3.0
# Basiert auf das Original aus Redaxo 3.2 Demo
# Kompatibilität mit dem Original nicht garantiert
##############################################
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;
$mailbody = <<<End
REX_HTML_VALUE[5]
End;
$formname = "REX_VALUE[8]";
$submitlabel = "REX_VALUE[7]";
$style = ' style="color:#f00;"';
$post = rex_post('FORM', 'array');
$formoutput = array();
$warning = array();
$form_elements = array();
$form_elements = explode("\n", $rex_form_data);
for($i=0;$i<count($form_elements);$i++){
$element = explode("|", $form_elements[$i]);
$AFE[$i] = $element;
switch($element[0]){
case "headline":
$formoutput[] = '<p>'.$element[1].'</p>';
break;
case "text":
if($post[$formname]["el_".$i] == "" && !$post[$formname][$formname."send"]){
$post[$formname]["el_".$i] = trim($element[3]);
}
if($element[2] == 1 && (trim($post[$formname]["el_".$i]) == "" || trim($post[$formname]["el_".$i]) == trim($element[3])) && $post[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
// ### Validierung
// falls Pflichtelement und Inhalt da und Formular abgeschickt
if( ($element[2] == 1) && (trim($post[$formname]["el_".$i]) != "") && ($post[$formname][$formname."send"] == 1) ) {
// checken, ob und welches Validierungsmodell gewaehlt
if (trim($element[5]) != "") {
// falls Validierung gefordert
$valid_ok = TRUE;
$inhalt = trim($post[$formname]["el_".$i]);
switch(trim($element[5])) {
case "mail":
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
case "absendermail":
$absendermail=$inhalt;
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
case "digit":
if (!ctype_digit($inhalt)) $valid_ok = FALSE;
break;
case "alpha":
if (!ctype_alpha($inhalt)) $valid_ok = FALSE;
break;
} // switch
if (!$valid_ok) $warning["el_".$i] = $style;
} // falls Validierung gefordert
}
// ### /Validierung
$formoutput[] = '
<label class="text" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
<input type="text" class="text" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlspecialchars(stripslashes($post[$formname]["el_".$i])).'" /><br />
';
break;
case "textarea":
if($post[$formname]["el_".$i] == "" && !$post[$formname][$formname."send"]){
$post[$formname]["el_".$i] = $element[3];
}
if($element[2] == 1 && (trim($post[$formname]["el_".$i]) == "" || trim($post[$formname]["el_".$i]) == trim($element[3])) && $post[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
// ### Validierung
// falls Pflichtelement und Inhalt da und Formular abgeschickt
if( ($element[2] == 1) && (trim($post[$formname]["el_".$i]) != "") && ($post[$formname][$formname."send"] == 1) ) {
// checken, ob und welches Validierungsmodell gewaehlt
if (trim($element[5]) != "") {
// falls Validierung gefordert
$valid_ok = TRUE;
$inhalt = trim($post[$formname]["el_".$i]);
switch(trim($element[5])) {
case "mail":
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
case "digit":
if (!ctype_digit($inhalt)) $valid_ok = FALSE;
break;
case "alpha":
if (!ctype_alpha($inhalt)) $valid_ok = FALSE;
break;
} // switch
if (!$valid_ok) $warning["el_".$i] = $style;
} // falls Validierung gefordert
}
// ### /Validierung
$formoutput[] = '
<label class="textarea" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
<textarea class="textarea" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" cols="80" rows="10">'.htmlspecialchars(stripslashes($post[$formname]["el_".$i])).'</textarea><br />
';
break;
case "select":
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."]");
$SEL->set_id("el_".$i);
$SEL->set_size(1);
$SEL->set_style(' class="select"');
if($post[$formname]["el_".$i] == "" && !$post[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($post[$formname]["el_".$i]);
}
foreach(explode(";", trim($element[4])) as $v){
$SEL->add_option( $v, $v);
}
if($element[2] == 1 && trim($post[$formname]["el_".$i] )== "" && $post[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] = '
<label class="select" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label>
'.$SEL->out().'<br />';
break;
case "checkbox":
if( (trim($post[$formname]["el_".$i] )== "1" ) || ($post[$formname]["el_".$i] == "" && !$post[$formname][$formname."send"] && $element[3] == 1)){
$checked = ' checked="checked"';
$hidden="";
}
else {
$checked = "";
$hidden = '<input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" /><br />';
}
if($element[2] == 1 && trim($post[$formname]["el_".$i]) == "0" && $post[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
}
$formoutput[] =
$hidden.'
<input type="checkbox" class="checkbox" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="1" '.$checked.' />
<label class="checkbox" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].'</label><br />
';
break;
}
}
$out = '
<div id="form-module">
<form action="'.$_SERVER["REQUEST_URI"].'" method="post">
<fieldset>
<legend>'.$formname.'</legend>
<input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" />';
foreach($formoutput as $v){
$out .= '
<div class="element">'.$v.'</div>';
}
$out .= '
<div class="element">
<input type="submit" name="FORM['.$formname.']['.$formname.'submit]" value="'.$submitlabel.'" class="submit" />
</div>
</fieldset>
</form>
</div>';if($post[$formname][$formname."send"] == 1 && count($warning)==0){
$mail = new rex_mailer();
$mail->AddAddress("REX_VALUE[1]");
$mail->From = $absendermail;
$mail->FromName = $absendermail;
$mail->Subject = "REX_VALUE[4]";
$mail->CharSet = "REX_VALUE[9]";
foreach($post[$formname] as $k=>$v){
if($k != $formname."submit" && $k != $formname."send")
$mailbody .= $AFE[ereg_replace("el_","",$k)][1].":\n ".stripslashes($v)." \n\n";
}
$mail->Body = $mailbody;
$mail->Send();
?>
<div id="form-module-thanks">REX_HTML_VALUE[6]</div>
<?php }
else {
print $out;
}
?>
Zuletzt geändert von Markus.Lorch am 22. Okt 2007, 21:15, insgesamt 1-mal geändert.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
löl^^ Das wär doch ned nötig gewesen Aber danke. Das freut mich jetzt
Wie ich grade im Praralelthreatvon kills erfahren habe soll man lieber
verwenden. Das wäre dann sauber.
Edit: Nein ich mach nicht ständig Änderungen um dich zu beschäftigen^^ Die Änderungen kommen einfach so nach und nach.
Eidt2: Dabei dürft es jetzt bleiben.
Wie ich grade im Praralelthreatvon kills erfahren habe soll man lieber
Code: Alles auswählen
rex_post('FORM', 'array');
Edit: Nein ich mach nicht ständig Änderungen um dich zu beschäftigen^^ Die Änderungen kommen einfach so nach und nach.
Eidt2: Dabei dürft es jetzt bleiben.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
So, ich denke das reicht für's erste.
Wir lernen ja noch.
Zumindest gibt's jetzt einen funktionierenden Formular-Generator für die 4.0.
Evtl. entwickelt ja der Erfinder des ganzen eine neue Version.
Soll ich die Version für die 3er-redaxos drin lassen oder besser rausnehmen?
Was meint Ihr? Es sammeln sich ja schon ne ganze Menge Formulare im Download-Bereich.
Wir lernen ja noch.
Zumindest gibt's jetzt einen funktionierenden Formular-Generator für die 4.0.
Evtl. entwickelt ja der Erfinder des ganzen eine neue Version.
Soll ich die Version für die 3er-redaxos drin lassen oder besser rausnehmen?
Was meint Ihr? Es sammeln sich ja schon ne ganze Menge Formulare im Download-Bereich.
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Also komm... das ist DER perfekte Generator *g* Da gibts doch fast nix mehr besser zu machen...
Zu der 3er Verison. Ich würde das drin lassen. Sicher haben noch so manche die 3er Versionen am laufen und wollen nicht (oder noch nicht) den Stress einer Umstellung auf sich nehmen. Ist ja sobald man ne kleine Latte an Modulen und eigenen Veränderungen hat nicht so ganz reibungslos, wie ich feststellen musste^^
Zu der 3er Verison. Ich würde das drin lassen. Sicher haben noch so manche die 3er Versionen am laufen und wollen nicht (oder noch nicht) den Stress einer Umstellung auf sich nehmen. Ist ja sobald man ne kleine Latte an Modulen und eigenen Veränderungen hat nicht so ganz reibungslos, wie ich feststellen musste^^
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Das sind noch gute Sachen. Hab ich noch garned dran gedacht.
Sollte man halt beides optional zuschalten können oder auch weglassen. Captcha würd ich bei mir selbst z.b. erst zuschalten, wenn es nötig wird und Bestätigungs Emails wären in meinem Fall eher lästig.
Sollte man halt beides optional zuschalten können oder auch weglassen. Captcha würd ich bei mir selbst z.b. erst zuschalten, wenn es nötig wird und Bestätigungs Emails wären in meinem Fall eher lästig.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter
Wird wohl eher am Wochenende so weit sein. Ich sehe, da ist noch einiges dran zu tun bis es für die 4.0 bereit ist.
Brauche einen Ersatz hierfür (ist zu einfach)
Brauche einen Ersatz hierfür (ist zu einfach)
Code: Alles auswählen
code entfernt
Zuletzt geändert von Thomas.Skerbis am 23. Okt 2007, 22:39, insgesamt 1-mal geändert.
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Zu einfach im Sinne von: Zu einfach für einen Bot zu lesen, oder der Code ist so einfach, dass er im Redaxo nicht will^^
Zum Thema Session:
Dafür gibts rex_session(), rex_set_session() und rex_unset_session(). Wie genau die funtzen hab ich aber heute keine Lust mehr mich reinzulesen.
Ich weiß nicht wie sich session_start(); verhält, wenn andere Module auch Sessions verwenden oder in wie weit es Fehler hervorruft, wenn session_start(); bereits weiter vorn irgendwo im Redaxo aufgerufen wurde.
Zum Thema Session:
Dafür gibts rex_session(), rex_set_session() und rex_unset_session(). Wie genau die funtzen hab ich aber heute keine Lust mehr mich reinzulesen.
Ich weiß nicht wie sich session_start(); verhält, wenn andere Module auch Sessions verwenden oder in wie weit es Fehler hervorruft, wenn session_start(); bereits weiter vorn irgendwo im Redaxo aufgerufen wurde.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
-
- Beiträge: 1371
- Registriert: 4. Aug 2006, 14:06
- Wohnort: Rheinberg
- Kontaktdaten: Website Twitter