Seite 1 von 1

find den fehler ned

Verfasst: 14.10.2005 14:02
von eXBallisto
hi ich hab gerade erst mit php angefangen........... also bidde nich böse sein^^

ich hab den code und finde den fehler einfach ned....ich das formular auf leere felder überprüfen, falls eines der felder nicht audgefüllt ist soll er z.B. Ihr Ort wurde nicht angegeben ausgeben. sollten alle felder ausgefüllt sein soll man auf gooogle.de weitergeleitet werden....


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
TITEL
</title>
</head>
<body>
<?php
$vorname=$HTTP_POST_VARS['vorname'];
$nachname=$HTTP_POST_VARS['nachname'];
$strasse=$HTTP_POST_VARS['strasse'];
$plz=$HTTP_POST_VARS['plz'];
$ort=$HTTP_POST_VARS['ort'];
$telefon=$HTTP_POST_VARS['telefon'];
$mail=$HTTP_POST_VARS['mail'];
$hp=$HTTP_POST_VARS['hp'];

unset($error);

if($vorname="") {
$error .= "Ihr Vorname wurde nicht angegeben!<br>";
}
if($nachname="") {
$error .= "Ihr Nachname wurde nicht angegeben!<br>";
}
if($strasse="") {
$error .= "Ihre Straße wurde nicht angegeben!<br>";
}
if($plz="") {
$error .= "Ihre Postleitzahl wurde nicht angegeben!<br>";
}
if($ort="") {
$error .= "Ihr Ort wurde nicht angegeben!<br>";
}
if($telefon="") {
$error .= "Ihre Telefonnummer wurde nicht angegeben!<br>";
}
if($mail="") {
$error .= "Ihre e-mail wurde nicht angegeben!<br>";
}
if($hp="") {
$error .= "Ihre Homepage wurde nicht angegeben!<br>";
}
if(empty($error)) {
echo "Folgende Fehler tragen auf:<br><br>".$error;
}
else{
echo '<meta http-equiv="refresh" content="2; URL=http://www.google.de/">';
}

?>

</body>
</html>
es tritt folgender fehler auf:

http://exballisto.gpages.de/check/formular.html

auf jedenfall schon ma danke^^


mfg eXBallisto :D

Verfasst: 14.10.2005 14:12
von fanrpg
anstatt von $HTTP_POST_VARS, $_POST verwenden

anstatt von if($row == "") kann man if(empty($row)) verwenden
ansttat von $error .= kann man
$error['fehler'] = verwenden
und das:

Code: Alles auswählen

if(empty($error)) { 
echo "Folgende Fehler tragen auf:<br><br>".$error; 
} 
else{ 
echo '<meta http-equiv="refresh" content="2; URL=http://www.google.de/">'; 
}
gehört so:

Code: Alles auswählen

if(!empty($error)) { 
echo "Folgende Fehler tragen auf:<br><br>".$error; 
} 
else{ 
echo '<meta http-equiv="refresh" content="2; URL=http://www.google.de/">'; 
}

Verfasst: 14.10.2005 14:22
von eXBallisto
habs jetzt so:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
TITEL
</title>	
</head>
<body>
<?php
$vorname=$_POST['vorname'];
$nachname=$_POST['nachname'];
$strasse=$_POST['strasse'];
$plz=$_POST['plz'];
$ort=$_POST['ort'];
$telefon=$_POST['telefon'];
$mail=$_POST['mail'];
$hp=$_POST['hp'];

unset($error);

if($vorname="") {
  $error .= "Ihr Vorname wurde nicht angegeben!<br>";
}
if($nachname="") {
  $error .= "Ihr Nachname wurde nicht angegeben!<br>";
}
if($strasse="") {
  $error .= "Ihre Straße wurde nicht angegeben!<br>";
}
if($plz="") {
  $error .= "Ihre Postleitzahl wurde nicht angegeben!<br>";
}
if($ort="") {
  $error .= "Ihr Ort wurde nicht angegeben!<br>";
}
if($telefon="") {
  $error .= "Ihre Telefonnummer wurde nicht angegeben!<br>";
}
if($mail="") {
  $error .= "Ihre e-mail wurde nicht angegeben!<br>";
} 
if($hp="") {
  $error .= "Ihre Homepage wurde nicht angegeben!<br>";
}
if(!empty($error)) {
echo "Folgende Fehler tragen auf:<br><br>".$error;
}
else{
echo '<meta http-equiv="refresh" content="2; URL=http://www.bufflektor.de.vu/">';
}

?>

</body>
</html>
geht aber immer noch ned........

Verfasst: 14.10.2005 14:29
von fanrpg

Code: Alles auswählen

<?php 
$vorname = $_POST['vorname']; 
$nachname = $_POST['nachname']; 
$strasse = $_POST['strasse']; 
$plz = $_POST['plz']; 
$ort = $_POST['ort']; 
$telefon = $_POST['telefon']; 
$mail = $_POST['mail']; 
$hp = $_POST['hp']; 

$error = '';

if(empty($vorname)) { 
  $error .= "Ihr Vorname wurde nicht angegeben!<br>"; 
} 
if(empty($nachname)) { 
  $error .= "Ihr Nachname wurde nicht angegeben!<br>"; 
} 
if(empty($strasse)) { 
  $error .= "Ihre Straße wurde nicht angegeben!<br>"; 
} 
if(empty($plz)) { 
  $error .= "Ihre Postleitzahl wurde nicht angegeben!<br>"; 
} 
if(empty($ort)) { 
  $error .= "Ihr Ort wurde nicht angegeben!<br>"; 
} 
if(empty($telefon)) { 
  $error .= "Ihre Telefonnummer wurde nicht angegeben!<br>"; 
} 
if(empty($mail)) { 
  $error .= "Ihre e-mail wurde nicht angegeben!<br>"; 
} 
if(empty($hp)) { 
  $error .= "Ihre Homepage wurde nicht angegeben!<br>"; 
} 
if(!empty($error)) { 
echo "Folgende Fehler tragen auf:<br><br>".$error; 
} 
else{ 
header("location: HIERDIEURL");
} 
?>
Versuchs mal so :wink:

Verfasst: 14.10.2005 14:34
von eXBallisto
thx

funzt alles^^
aber wo war jetzt der fehler bei mir???

Verfasst: 14.10.2005 14:38
von fanrpg
Gute Frage :D Weiss ich selber nicht so genau :oops:

Ich glaube unset($error); erstellt keine Variable sondern leert die einfach aber der kann keine Var leeren die nicht exestiert das macht keinen Sinn weil du ja die errors per Varerweitrung dranhängst also kann der ja nix an eienr Var dranhängen die nicht exestiert :wink:

Desweiteren waren kleinere Fehler in den if Sprachkonstrukten weil du die falsch überprüft hast

Verfasst: 14.10.2005 14:42
von eXBallisto
an unset() liegts nich lol

ich probiers ma weiter aus dann poste ich nochma

mfg eXBallisto

Verfasst: 14.10.2005 14:45
von fanrpg
eXBallisto hat geschrieben:an unset() liegts nich lol
http://de3.php.net/manual/de/function.unset.php
ich probiers ma weiter aus dann poste ich nochma
Wenn der eine Variable löscht kann man da auch nix dranhängen :roll:

setzte mal ganz am Anfang (benutz dein altes script)

Code: Alles auswählen

error_reporting(E_ALL);
Dann listet der dir alle Fehler auf auch das mit $error :wink:

Verfasst: 14.10.2005 14:49
von eXBallisto
hab mich schon verbessert^^

ok danke für den tipp.....

Verfasst: 14.10.2005 19:05
von witzigerkiller
Habe auch noch ein kleines Scriptchen gebastelt. Habs aber net getestet:

Code: Alles auswählen

<?PHP
/*Hier m&uuml;ssen die Feldnamen, also das was du bei <input name="... reinschreibst rein,
und mit ' und kommata bearbeitet werden*/
$Felder = array('Vorname', 'Nachname', 'Strasse', 'PLZ', 'Ort', 'Telefon', 'Mail', 'HP');

/*HIer wird in einer Schleife &uuml;berpr&uuml;ft, ob ein Feld leer ist*/

foreach ($Felder as $prufe_felder)
{
  if (empty($_POST[$prufe_felder]))
  {
    echo "Das Feld ".$prufe_felder." ist nicht Ausgef&uuml;llt";
  }
  else
  {
    // Hier k&ouml;nnen die Restlichen Anweisungen kommen 
  }
}
?>
Habe es kommentiert, also müsste es auch für dich verständlich sein