ich benutze das "Formular erzeugen"-Modul aus der Demo schon seit einiger Zeit.
Seitdem der Provider aber den Server auf PHP Version 5.1.4 umgestellt hat läuft das Formular nicht mehr.
Kein anzeigen der nicht ausgefüllten Pflichtfelder, kein Danksagungstext und die Mail geht nicht raus bzw. kommt nicht an.
Was kann ich tun? Was muss ich wo umstellen/umschreiben?
Bin phpnoob, bitte foolproof erklären.
Eingabe
Code: Alles auswählen
Email geht an:<br />
<input type="text" name="VALUE[1]" value="REX_VALUE[1]" class="inp100" /><br />
<br />
Absendername:<br />
<input type="text" name="VALUE[8]" value="REX_VALUE[8]" class="inp100" /><br />
<br />
Absender-Email:<br />
<input type="text" name="VALUE[2]" value="REX_VALUE[2]" class="inp100" /><br />
<br />
Subject:<br />
<input type="text" name="VALUE[4]" value="REX_VALUE[4]" class="inp100" /><br />
<br />
Mailbody Prefix:<br />
<textarea name="VALUE[5]" style="width:100%;height:100px;">REX_VALUE[5]</textarea><br />
<br />
Submitbutton Bezeichnung:<br />
<input type="text" name="VALUE[7]" value="REX_VALUE[7]" class="inp100" /><br />
<br />
Danksagung:<br />
<textarea name="VALUE[6]" style="width:100%;height:100px;">REX_VALUE[6]</textarea><br />
<br />
Formularbeschreibung:<br />
<textarea name="VALUE[3]" style="width:100%;height:180px;">REX_VALUE[3]</textarea><br />
<br />
typ|bezeichnung|pflicht|default|value<br /><br />
<strong>Hinweis</strong>
<table class="warning">
<tr>
<td style="vertical-align:top;">Typen</td>
<td>
text<br />
textarea<br />
select -> redaxo;doku;forum<br />
checkbox<br />
headline</td>
</tr>
<tr>
<td style="vertical-align:top;">Bezeichnung</td>
<td>Feldbezeichnung</td>
</tr>
<tr>
<td style="vertical-align:top;">Pflicht</td>
<td>1 sonst 0 oder leer</td>
</tr>
<tr>
<td style="vertical-align:top;">Default</td>
<td>Wert der bereits erscheinen wird.<br />
Beispiel<br />
Eingabe:<br />
textarea|Adresse:|1| Geben Sie hier bitte Ihre Adresse an! |<br />
<br />
Ausgabe:<br />
<textarea> Geben Sie hier bitte Ihre SpaßAdresse an! </textarea>
</td>
</tr>
<tr>
<td style="vertical-align:top;">Value</td>
<td></td>
</tr>
</table>
Ausgabe
Code: Alles auswählen
<?php
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;
$mailbody = <<<End
REX_HTML_VALUE[5]
End;
$formname = "";
$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($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$FORM[$formname]["el_".$i] = trim($element[3]);
}
if($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $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($FORM[$formname]["el_".$i])).'" /><br />
';
break;
case "textarea":
if($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$FORM[$formname]["el_".$i] = $element[3];
}
if($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $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($FORM[$formname]["el_".$i])).'</textarea><br />
';
break;
case "headline":
$formoutput[] = '<p>'.$element[1].'</p>';
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($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i]);
}
foreach(explode(";", trim($element[4])) as $v){
$SEL->add_option( $v, $v);
}
if($element[2] == 1 && trim($FORM[$formname]["el_".$i] )== "" && $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($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$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($FORM[$formname]["el_".$i]) == "" && $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><label class="checkbox" '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[8].'</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($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]";
$mail->FromName = "REX_VALUE[8]";
foreach($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;
}
?>
Vielen Danke für Eure Hilfe!
Schöne Grüße