Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
addy
Threadersteller
Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 04.08.2004 15:32
Titel php problem bei Formularfehlerausgabe |
|
|
ich hab ein Anmeldescript geschrieben, wo dann getestet werden soll ob alle Felder korrekt ausgefüllt sind. Funktioniert auch einwandfrei, nun wollt ich die Fehlerprüfung in eine Klasse auslagern, weil ich PHP Anfänger bin und mich halt jetzt mit Klassen beschäftigen will. Wenn ich das jetzt aber in eine Klasse ausgelagert habe, bringt er mir gleich sofort wenn ich das Formular aufrufe, die ganzen Fehlermeldungen (keine korrekte PLZ, Namen eingeben etc.). Aber leider verstehe ich nicht warum, denke mal es liegt hier dran
Code: |
if (isset($button) ){
$fehler = $anmeldung->check($vorname,$nachname,$strasse,$ort,$plz,$email,$telefon,$pw,$pw2,$bankname,$blz,$konto);
} |
weil er da denkt der Fehler existiert immer oder. Hat einer ne verständliche Lösung wie ich das umgehen kann?
Hier mal der Code:
Also wenn ich das ausdokumentierte mit rein nehme und die oben stehende if-Abfrage ausdokum. dann funzt es.
login.php
Code: |
<?php
@session_start();
require_once('inc/anmeldung.inc.php');
$anmeldung = new anmeldung;
function hole_daten($feldname)
{
if (isset ($_GET[$feldname] ) )
$feldwert = $_GET[$feldname];
elseif (isset ($_POST[$feldname] ) )
$feldwert = $_POST[$feldname];
else
$feldwert = "";
return $feldwert;
}
$button = hole_daten("button");
$vorname = hole_daten("vorname");
$nachname = hole_daten("nachname");
$tag = hole_daten("tag");
$monat = hole_daten("monat");
$jahr = hole_daten("jahr");
$gebdatum = $tag.".".$monat.".".$jahr;
$strasse = hole_daten("strasse");
$ort = hole_daten("ort");
$plz = hole_daten("plz");
$email = hole_daten("email");
$telefon = hole_daten("telefon");
$pw = hole_daten("pw");
$pw2 = hole_daten("pw2");
$bankname = hole_daten("bankname");
$blz = hole_daten("blz");
$konto = hole_daten("konto");
$_SESSION['vorname'] = $vorname;
$_SESSION['nachname'] = $nachname;
$_SESSION['gebdatum'] = $gebdatum;
$_SESSION['strasse'] = $strasse;
$_SESSION['ort'] = $ort;
$_SESSION['plz'] = $plz;
$_SESSION['email'] = $email;
$_SESSION['telefon'] = $telefon;
$_SESSION['pw'] = $pw;
$_SESSION['bankname'] = $bankname;
$_SESSION['blz'] = $blz;
$_SESSION['konto'] = $konto;
if (isset($button) ){
$fehler = $anmeldung->check($vorname,$nachname,$strasse,$ort,$plz,$email,$telefon,$pw,$pw2,$bankname,$blz,$konto);
}
/*
if ($button){
if ( $vorname == "")
$fehler["vorname"] = "Vornamen eingeben";
if ( $nachname == "")
$fehler["nachname"] = "Nachname eingeben";
if ( $strasse == "")
$fehler["strasse"] = "Strasse eingeben";
if ( $ort == "")
$fehler["ort"] = "Ort eingeben";
if ( ( $plz == "") || ( ! eregi ("^[0-9]{5}$",$plz) ) )
$fehler["plz"] = "gültige PLZ eingeben";
if ( ( $email == "") || ( ! eregi("^[a-zA-Z0-9]([._-]?[a-zA-Z0-9])*@[a-zA-Z0-9]([.-_]?[a-zA-Z0-9])*\\.[a-zA-Z]{2,6}$",$email) ) )
$fehler["email"] = "Keine gültige email-Adresse";
if ( ( $telefon == "") || ( ! eregi ("^[0-9]{3,15}$",$telefon) ) )
$fehler["telefon"] = "Telefonnummer eingeben (nur Ziffern)";
if (isset($pw) ) {
$anzahl = strlen($pw);
if ($anzahl < 5 ) {
$fehler['pw_anzahl'] = "Das Passwort muss mindesten 5 Zeichen haben";
}
}
if ( $pw != $pw2)
$fehler["pw"] = "Bitte prüfen Sie Ihr Passwort";
if ( $bankname == "")
$fehler["bankname"] = "Bankname eingeben";
if ( $blz == "" || ( ! eregi ("^[0-9]{8}$",$blz) ))
$fehler["blz"] = "Blz nicht korrekt";
if ( $konto == "" || ( ! eregi ("^[0-9]{6,10}$",$konto) ))
$fehler["konto"] = "Kontonummer nicht korrekt";
}*/
if ( $button && ! $fehler )
{
header("Location:login_ok.php?vorname".$vorname."$nachnahme".$nachname);
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>. : SNOW.RENT : .</title>
<link rel=stylesheet type="text/css" href="styles.css">
<style type="text/css">
body { scrollbar-base-color:#FAFAFC;
scrollbar-arrow-color:#000099;
scrollbar-face-color:#000099;
scrollbar-track-color:#FAFAFC;
}
</style>
<script language="javascript" type="text/javascript"><!--
function over( bildname )
{ document.images[bildname].src = document.images[bildname].src.replace('.gif','_o.gif');
}
function out( bildname )
{ document.images[bildname].src = document.images[bildname].src.replace('_o.gif','.gif');
}
--></script>
</head>
<body>
<table width="100%" height="100%"><tr><td align="center" valign="top">
<table border="0" cellspacing="1" cellpadding="0" bgcolor="#00007f"><tr><td>
<table cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" height="400px">
<tr valign="top" height="97px">
<td><img src="images/banner1.jpg" width="148" height="97" alt="SNOW.RENT - BOARDVERLEIH" border="0" /></td>
<td><img src="images/banner2.jpg" width="156" height="97" alt="SNOW.RENT - BOARDVERLEIH" border="0" /></td>
<td><img src="images/banner3.jpg" width="166" height="97" alt="SNOW.RENT - BOARDVERLEIH" border="0" /></td>
<td><img src="images/banner4.jpg" width="178" height="97" alt="SNOW.RENT - BOARDVERLEIH" border="0" /></td>
</tr>
<tr>
<td colspan="4" valign="top">
<table cellspacing="0" cellpadding="0" border="0">
<tr valign="top" height="22px">
<td><a href="index.html" onMouseOver="over('snowrent')" onMouseOut="out('snowrent')"><img src="images/navi/snow.gif" width="85" height="22" alt="SNOW.RENT" border="0" name="snowrent" /></a></td>
<td><a href="verleih.php" onMouseOver="over('verleih')" onMouseOut="out('verleih')"><img src="images/navi/verleih.gif" width="64" height="22" alt="Verleih" border="0" name="verleih" /></a></td>
<td><a href="shop.html" onMouseOver="over('shop')" onMouseOut="out('shop')"><img src="images/navi/shop.gif" width="45" height="22" alt="Shop" border="0" name="shop"/></td>
<td><a href="service.html" onMouseOver="over('service')" onMouseOut="out('service')"><img src="images/navi/service.gif" width="63" height="22" alt="Service" border="0" name="service" /></a></td>
<td><a href="faq.html" onMouseOver="over('faq')" onMouseOut="out('faq')"><img src="images/navi/faq.gif" width="49" height="22" alt="FAQs" border="0" name="faq"/></a></td>
<td><a href="kontakt.php" onMouseOver="over('kontakt')" onMouseOut="out('kontakt')"><img src="images/navi/kontakt.gif" width="61" height="22" alt="Kontakt" border="0" name="kontakt"/></a></td>
<td><a href="login.php" onMouseOver="document.images['login'].src='images/navi/login_o.gif'" onMouseOut="document.images['login'].src='images/navi/login.gif'"><img src="images/navi/login.gif" alt="LOGIN" border="0" name="login"/></a></td>
</tr>
</table>
</td>
</tr>
<tr valign="top" height="16px"><td colspan="4">
<table cellspacing="0" cellpadding="0">
</table></td></tr>
<tr><td colspan="4">
<table width="648px">
<tr>
<td cellspacing="2">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td class="verleih_top" colspan="2" align="left">Anmeldung</td>
</tr>
<tr>
<td valign="top">
<!-- Beginn Tabelle linke Seite -->
<table>
<tr>
<form action="login.php" method="POST">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="200" class="verleih">Vorname:</td>
<td width="200">
<input type="text" size="15" name="vorname" value="<?php echo $vorname ?>" />
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["vorname"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Nachname:</td>
<td width="200">
<input type="text" size="15" name="nachname" value="<?php echo $nachname ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["nachname"] ?></span></td>
</tr>
<tr>
<td width="200"class="verleih">geboren:</td>
<td width="200">
<select name="tag">
<?php
for ($i=1;$i<32;$i++){
echo "<option value=\"$i\">$i</option>";
}
?>
</select>
<select name="monat">
<?php
for ($i=1;$i<13;$i++){
echo "<option value=\"$i\">$i</option>";
}
?>
</select>
<select name="jahr">
<?php
for ($i=1986;$i>1919;$i--){
echo "<option value=\"$i\">$i</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td width="200" class="verleih">Straße:</td>
<td width="200">
<input type="text" size="2o" name="strasse" value="<?php echo $strasse ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["strasse"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">PLZ:</td>
<td width="200">
<input type="text" size="5" name="plz" value="<?php echo $plz ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["plz"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Ort:</td>
<td width="200">
<input type="text" size="20" name="ort" value="<?php echo $ort ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["ort"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Telefon:</td>
<td width="200">
<input type="text" size="10" name="telefon" value="<?php echo $telefon ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["telefon"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">E-Mail:</td>
<td width="200">
<input type="text" size="20" name="email" value="<?php echo $email ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["email"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Passwort (5 - 10 Zeichen):</td>
<td width="200">
<input type="password" size="15" name="pw" />
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["pw_anzahl"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Passwort (Wiederholung):</td>
<td width="200">
<input type="password" size="15" name="pw2" />
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["pw"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Bankname:</td>
<td width="200">
<input type="text" size="20" name="bankname" value="<?php echo $bankname ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["bankname"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">BLZ:</td>
<td width="200">
<input type="text" size="10" name="blz" value="<?php echo $blz ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["blz"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih">Kontonnummer:</td>
<td width="200">
<input type="text" size="10" name="konto" value="<?php echo $konto ?>"/>
</td>
</tr>
<tr>
<td></td>
<td><span class="error"><?php echo $fehler["konto"] ?></span></td>
</tr>
<tr>
<td width="200" class="verleih"></td>
<td width="200">
<input type="submit" name="button" value="senden" />
</td>
</tr>
</table>
</tr>
</table>
<!-- ENDE Tabelle linke Seite -->
</td>
<td width="50">
<!-- Beginn Tabelle Mitte -->
<!-- ENDE Tabelle Mitte -->
</td>
<td>
<!-- Beginn Tabelle rechte Seite -->
<!-- ENDE Tabelle rechte Seite -->
</td>
</tr>
<tr>
<td colspan="4">
</td>
</tr>
</form>
</table>
</body>
</html>
|
und die anmeldung.inc.php
Code: |
<?php
class anmeldung {
function check($vorname,$nachname,$strasse,$ort,$plz,$email,$telefon,$pw,$pw2,$bankname,$blz,$konto) {
if ( $vorname == "")
$fehler["vorname"] = "Vornamen eingeben";
if ( $nachname == "")
$fehler["nachname"] = "Nachname eingeben";
if ( $strasse == "")
$fehler["strasse"] = "Strasse eingeben";
if ( $ort == "")
$fehler["ort"] = "Ort eingeben";
if ( ( $plz == "") || ( ! eregi ("^[0-9]{5}$",$plz) ) )
$fehler["plz"] = "gültige PLZ eingeben";
if ( ( $email == "") || ( ! eregi("^[a-zA-Z0-9]([._-]?[a-zA-Z0-9])*@[a-zA-Z0-9]([.-_]?[a-zA-Z0-9])*\\.[a-zA-Z]{2,6}$",$email) ) )
$fehler["email"] = "Keine gültige email-Adresse";
if ( ( $telefon == "") || ( ! eregi ("^[0-9]{3,15}$",$telefon) ) )
$fehler["telefon"] = "Telefonnummer eingeben (nur Ziffern)";
if (isset($pw) ) {
$anzahl = strlen($pw);
if ( ($anzahl < 5 ) || ($anzahl > 10) ) {
$fehler['pw_anzahl'] = "Das Passwort muss zwischen 5 und 10 Zeichen haben";
}
}
if ( $pw != $pw2)
$fehler["pw"] = "Bitte prüfen Sie Ihr Passwort";
if ( $bankname == "")
$fehler["bankname"] = "Bankname eingeben";
if ( $blz == "" || ( ! eregi ("^[0-9]{8}$",$blz) ))
$fehler["blz"] = "Blz nicht korrekt";
if ( $konto == "" || ( ! eregi ("^[0-9]{6,10}$",$konto) ))
$fehler["konto"] = "Kontonummer nicht korrekt";
return $fehler;
}
}
?> |
besten dank schonmal
Zuletzt bearbeitet von addy am Mi 04.08.2004 15:35, insgesamt 1-mal bearbeitet
|
|
|
|
|
Achim M.
Dabei seit: 17.03.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 04.08.2004 15:44
Titel
|
|
|
Nur mal so schnell draufgeschaut, ohne jede Zeile zu lesen (daher ohne Gewähr):
Du schreibst:
Code: | $button = hole_daten("button"); |
Etwas später dann die Abfrage:
Code: | if (isset($button) ){
$fehler = $anmeldung->check($vorname,$nachname,$strasse,$ort,$plz,$email,$telefon,$pw,$pw2,$bankname,$blz,$konto);
} |
$button ist gesetzt und somit wird die Validierung gestartet.
Schreib doch:
Code: | if (isset($_POST['button']) ){
$fehler = $anmeldung->check($vorname,$nachname,$strasse,$ort,$plz,$email,$telefon,$pw,$pw2,$bankname,$blz,$konto);
} |
Gruß
Achim
|
|
|
|
|
Anzeige
|
|
|
addy
Threadersteller
Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 04.08.2004 15:55
Titel
|
|
|
besten Dank ja so geht es, aber verstehen tu ich es nicht, denn wenn ich die Fehlerabfrage in der Login.php selbst mache funktioniert es ja auch mit isset($button), nur wenn ich es auslagere nicht
es funzt zwar jetzt, aber ich versteh nicht ganz warum, vil kannst du es ja nochmal kurz erklären, wenn du Zeit hast
thanx
|
|
|
|
|
Achim M.
Dabei seit: 17.03.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 04.08.2004 16:07
Titel
|
|
|
addy hat geschrieben: | besten Dank ja so geht es, aber verstehen tu ich es nicht, denn wenn ich die Fehlerabfrage in der Login.php selbst mache funktioniert es ja auch mit isset($button), nur wenn ich es auslagere nicht :roll:
es funzt zwar jetzt, aber ich versteh nicht ganz warum, vil kannst du es ja nochmal kurz erklären, wenn du Zeit hast
thanx |
isset($button) prüft, ob die Variable $button einen Wert enthält (nicht NULL ist). Sobald die Variable irgendwo vorher verwandt wurde, trifft das zu ($button = hole_daten("button");). Egal was bei dieser Funktion herauskommt, die Variable $button existiert von diesem Moment an.
Die Variable $_POST['button'] existiert nur, wenn der Submit-Button gedrückt wurde, also nicht wenn das Formular zum ersten Mal aufgerufen wurde.
Gruß
Achim
Zuletzt bearbeitet von Achim M. am Mi 04.08.2004 16:08, insgesamt 1-mal bearbeitet
|
|
|
|
|
addy
Threadersteller
Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 04.08.2004 19:11
Titel
|
|
|
ok danke nochmal
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formmailer-Problem-neues problem
JS DIV-Problem
CSS-Problem?
[CSS] IE Problem
ie7 problem?
Problem mit IE7
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|