will Fehler über Variable ausgeben

la_verve

Grünschnabel
Hallo zusammen,
ich möchte in der sendmail.php die Fehlerausgabe variabel halten, also als Variable ausgeben.
PHP:
<?php
$script = 'http://localhost/...';
$errorClass['lastname'] = 'inputField';
$errorFields = array('frmvname', 
                     'frmnname', 
                     'frmtitel', 
                     'frmemail', 
                     'frmtextanmich'
                     );        
                                                       
for($x=0;$x<count($errorFields);$x++)
{
  $errorClass[$errorFields[$x]] = 'inputField';
  $email = $_POST['frmemail']; // $email deklariert
  $sendemail = $_POST['frmsubmit'];
              
} 
if(isset($_POST['frmsubmit']))
{
  $error = false;  
  foreach($errorFields as $key => $value)  
  {
    if(empty($_POST[$errorFields[$key]]))
    {
      $error = true;
      $errorClass[$value] = 'errorField';
      $errorPicture[$value] = '<img src="img/achtung_klein.jpg">&nbsp;';
    }      
  }  
}
if(isset($_POST['frmemail']) && !empty($_POST['frmemail']))
$pruefen = $_POST['frmemail']; 
else
echo $errorMessage;
function mailpruefen($pruefen)
{
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $pruefen))
	return TRUE;
		else
			return FALSE;
}
if($_POST['frmemail'])
  if(mailpruefen($_POST['frmemail']) != TRUE)
{
  echo $errorClass.$errorMessage
  }
if($_GET['check'] == "true")
{
  $errorMessage = '<table width="80%" class="errorTable">
                   <tr>
                    <td>Ihre Nachricht wurde erfolgreich verschickt.<br>Danke.</td>                      
                   </tr>
                   </table><br>';
}
if(isset($_POST['frmsubmit']))
{
  if($error == true) 
  {
    $errorMessage = '<table cellspacing="4px" width="80%" class="errorTable">
                    <tr>
                      <td align="bottom"><img src="img/achtung_gross.jpg"</td>
                      <td>Achtung!<br>
                       Es ist zu einem Fehler gekommen.<br>
                       Bitte f&uuml;llen Sie alle farbigen Pflichtfelder aus!
                      </td>
                    </tr>
                   </table><br>';                   
  }
  else
  {
// alles in ordnung
// daten koennen gespeichert werden
// hier mail versenden email header, body,...
// seite neu laden und hinweis anzeigen
header("Location: http://localhost/...");
}
}
?>

hierbei bekomme ich dann immer die Fehlerausgabe:
HTML:
Array
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\kunden\test\php\sendmail.php:49) in

und weiß hier nicht mehr weiter. Gibt es Einen, der das Skript lesen und eventuell korrigieren kann?
 
Ist klar du kanst auch kein header senden wenn voher eine Ausgabe statt gefunden hatt.
Lösch den Eintrag echo $errorMessage;

Dann sollte es gehen.

Mfg Splasch
 
Habe das echo entfernt. Jetzt bekomme ich bei submit den header auf das Blanko-Formular, ohne dass er die Funktion durchläuft.
Hmmm.
 
Zurück