Formular abbrechen - nachfolgender Code aber nicht!

icefire

Erfahrenes Mitglied
Hi!

Ich habe ein Email Formular. Wenn alles ausgefüllt und überprüft wurde, wird es auch gesendet. In der Überprüfung habe ich exit eingebaut, das wenn etwas fehlt, das Formular abbricht. Nur wird dann auch der nicht betreffende Code (Menüleiste rechts) unterbrochen. Wie kann ich das unterbinden?

PHP:
// Alle zu überprüfende Felder
if (!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*". "@([a-z0-9]+([\.-][a-z0-9]+))*$",$_POST[mail])){
  $kontakt = 1;  
  echo'<table width="98%" border="0" cellpadding="3" cellspacing="0">
 	    <tr>
 		 <td><font color="#ff0000">Die angegebene Mailadresse '.$_POST[mail].' ist ungültig.</font></td>
 	    </tr>		
       </table><br>'; 	 
  } 

// Abgleichung der Fehlermelungen
if($kontakt == 1){
   echo'<br><table width="98%" border="0" cellpadding="3" cellspacing="0"> 	   
		<tr>
 		 <td><a href="index.php?file=kontakt">Zurück</a></td>
 	    </tr>
       </table><br>';
  exit;   
}

// Wenn Fehlerfrei dann versenden
if($kontakt != 1){.....usw}

Vielen Dank für eure Hilfe.
 
Setze einfach ein zusätzliches Flag oder benutze eine Variable, um alle Meldungen jeglicher Art zu speichern und prüfe ihre Größe. Anschließend kannst du die Meldungen auch schön strukturiert ausgeben, beispielsweise:
PHP:
<?php

	$_notes = array(
		'error' => array(),
		'notice' => array(),
		'success' => array()
	);

	if( foobar ) {
		$_notes['error'][] = 'Bitte geben Sie … an.';
	}

	…

	if( !empty($_notes['error']) ) {
		echo '<div class="note error"><ul>';
		foreach( $_notes['error'] as $item ) {
			echo '<li>'.$item.'</li>';
		}
		echo '</ul></div>';
	} else {
		// keine Fehler aufgetreten
	}

?>
 
Moin! :)
Ich habe das Problem gelöst, ohne das ich eine weitere Option einfügen musste - aber manchmal steht man einfach aufn Schlauch! :D

Hier nun der Code:
PHP:
if($_REQUEST["action"] == 'neu'){

// Alle Kontrollen der Felder	
if($_POST[kom_name]==''){
  $kontakt = 1;  
  echo'<tr><td style="'.$alert.'" width="'.$table3.'">Es wurde kein Nick angegeben.</td></tr><br>';     
  }

// Überprüfung ob Fehler gefunden wurde
if($kontakt == 1){
   echo'<tr>
 		<td style="'.$style1.'" width="'.$table3.'"><a href="index.php?file=news_add_kom&nw_id='.$_GET[nw_id].'">»&nbsp;Zurück</a><br></td>
 	    </tr><br>';
 
}elseif($kontakt != 1){	// Weiterverarbeitung
}
 
Zurück