Überprüfung

jc-freak

Mitglied
Hallo

aus irgendeinem mir auf Anhieb nicht ersichtlichen Grund funktioniert diese Überprüfung, ob alle Daten eingeben wurden, nicht.

PHP:
<?php

$empfaenger = "webmaster@tus-zeven-flames.de";

if(isset($HTTP_POST_VARS['addentry']))
{
  if (isset($HTTP_POST_VARS['name']) == "" || isset($HTTP_POST_VARS['betreff']) == "" || isset($HTTP_POST_VARS['email']) == "" || isset($HTTP_POST_VARS['nachricht']) == "")
  {
    echo "<p>Nicht alle Daten eingegeben!</p>";
  }
  else
  {
    mail($empfaenger, $HTTP_POST_VARS['betreff'], $HTTP_POST_VARS['nachricht'], $HTTP_POST_VARS['email'], $HTTP_POST_VARS['name']);
	{
	  echo "<p>E-Mail wurde versendet!</p>";
	} 
  }
 echo "<br>";
}
?>
 
Zuletzt bearbeitet:
Die Funktion isset() gibt einen booleschen Wert zurück, daher ist es sinnlos diesen mit einer leeren Zeichenkette zu vergleichen.
 
achja ein boolean wert.
hm

aber wie sollte das ganze dann aussehn?

SO? :

PHP:
  if (isset($HTTP_POST_VARS['name']) == true || isset($HTTP_POST_VARS['betreff']) == true || isset($HTTP_POST_VARS['email']) == true || isset($HTTP_POST_VARS['nachricht']) == true)
 
PHP:
if ((!isset($HTTP_POST_VARS['name'])) ||
    (!isset($HTTP_POST_VARS['betreff'])) ||
    (!isset($HTTP_POST_VARS['email'])) ||
    (!isset($HTTP_POST_VARS['nachricht']))) {

  // Fehlerhafte Eingabe
} else {
  // Korrekte Eingabe
}
 
Mal was produktives von mir :)

Ich würd mal mit [phpf]empty[/phpf] probieren.

Hier eine Funktion um zu überprüfen ob alle input Felder
eines Formulars gefüllt sind
PHP:
function check_POST() {
  while (list ($key, $val) = each($_POST)) if (empty ($val)) return FALSE;
  return TRUE;
}
 
Was geht nicht?
Wie sieht Dein Code aus?
Werden die Daten auch via POST übergeben?
Sind die Namen der Formularfelder genauso geschrieben, wie die geprüften Parameter?
Kommen Fehlermeldungen?

snuu
 
fehlermeldungen kommen keine. Er überprüft aber scheinbar nicht ob die felder gefüllt sind oder nicht. Denn egal wieviele ausgefüllt sind, es wird eine mail abgeschickt.
 
Zurück