mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 18:09 Benutzername: Passwort: Auto-Login

Thema: php problem bei Formularfehlerausgabe vom 04.08.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> php problem bei Formularfehlerausgabe
Autor Nachricht
addy
Threadersteller

Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 04.08.2004 15:32
Titel

php problem bei Formularfehlerausgabe

Antworten mit Zitat Zum Seitenanfang

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>
                        &nbsp;            
                        </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
  View user's profile Private Nachricht senden
Achim M.

Dabei seit: 17.03.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 04.08.2004 15:44
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
Anzeige
Anzeige
addy
Threadersteller

Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 04.08.2004 15:55
Titel

Antworten mit Zitat Zum Seitenanfang

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 Meine Güte!

es funzt zwar jetzt, aber ich versteh nicht ganz warum, vil kannst du es ja nochmal kurz erklären, wenn du Zeit hast

thanx
  View user's profile Private Nachricht senden
Achim M.

Dabei seit: 17.03.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 04.08.2004 16:07
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
addy
Threadersteller

Dabei seit: 22.01.2003
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 04.08.2004 19:11
Titel

Antworten mit Zitat Zum Seitenanfang

ok danke nochmal
  View user's profile Private Nachricht senden
 
Ähnliche Themen Formmailer-Problem-neues problem
JS DIV-Problem
CSS-Problem?
[CSS] IE Problem
ie7 problem?
Problem mit IE7
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


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.