find den fehler ned

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
eXBallisto
Mitglied
Beiträge: 8
Registriert: 14.10.2005 13:55

find den fehler ned

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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/">'; 
}
eXBallisto
Mitglied
Beiträge: 8
Registriert: 14.10.2005 13:55

Beitrag 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........
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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:
eXBallisto
Mitglied
Beiträge: 8
Registriert: 14.10.2005 13:55

Beitrag von eXBallisto »

thx

funzt alles^^
aber wo war jetzt der fehler bei mir???
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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
eXBallisto
Mitglied
Beiträge: 8
Registriert: 14.10.2005 13:55

Beitrag von eXBallisto »

an unset() liegts nich lol

ich probiers ma weiter aus dann poste ich nochma

mfg eXBallisto
Zuletzt geändert von eXBallisto am 14.10.2005 14:46, insgesamt 1-mal geändert.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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:
eXBallisto
Mitglied
Beiträge: 8
Registriert: 14.10.2005 13:55

Beitrag von eXBallisto »

hab mich schon verbessert^^

ok danke für den tipp.....
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag 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
Antworten

Zurück zu „Coding & Technik“