1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. PHP Forum - Apache - CGI - Perl - JavaScript und Co.

If Problem.

  • #matthias
  • 27. August 2009 um 14:54
  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 14:54
    • #1

    Hallo,

    ich habe da mal wieder ein Problem und das sieht so aus:

    PHP
    $user_passwort_1 = $_POST['passwort_1'];
    			$user_passwort_2 = $_POST['passwort_2'];
    			$vorname = $_POST['vorname'];
    			$nachname = $_POST['nachname'];
    			$email = $_POST['emailadresse'];
    
    			//strlen = gibt die anzahl der zeichen einer variablen aus
    			//echo strlen($user_name);
    			//echo $user_name." ".$user_passwort_1." ".$vorname." ".$nachname." ".$email;
    
    			//test ob alle felder ausgefuehlt worden sind
    			if ($user_name == "" || $user_passwort_1 == "" || $user_passwort_2 == "" || $vorname = "" || $nachname == "" || $email == "")
    				{
    					echo "<script language=\"javascript\" type=\"text/javascript\" 
    								alert (\"Bitte fühlen Sie alle Felder aus!\")
    								</script>";
    
    					//sind nicht alle felder ausgefuehlt geht es wieder auf die registrieren.html zurueck
    					refresh(0,"registrieren.html");
    					}
    Alles anzeigen

    Die Felder des Formulars sollen dahin gehend getestet werden ob alle ausgefühlt sind, wenn dies nicht der Fall ist soll das Popup aufgehen und danach soll der User wieder auf die registrieren.html weiter geleitet werde.

    Wenn ich das Formular leer absende passiert garnicht, eigentlich sollte der Interpreter doch das im IF ausfüheren.
    Geteste habe ich schon ob die Variablen überhaupt einen Wert haben wen ich etwas reinschreibe und wenn die Variablen leer sind ob sie dann nicht doch z.b. ein Leerzeichen enthalten.

    Keine Ahnung woran das jetzt liegt, ich sitze wahrscheinlich schon zulange vor der Kiste.
    Jetzt brauche ich einen Kaffee und eine Zigarette.
    Vielleicht kann mir jemand von euch weiter helfen?

    MFG Matthias.

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

  • jojo87
    der/die Göttliche
    Reaktionen
    6
    Beiträge
    3.131
    • 27. August 2009 um 15:20
    • #2

    1. Ist allein dieser Codeschnipsel sehr unsauber, um nicht zu sagen schlecht, programmiert. Nutze bei den Variablenzuweisungen mindestens trim(), um zu vermeiden, dass Daten schon mit einem Leerzeichen als gültig gewertet werden. Besser noch du überprüfst mit empty() anstatt ="".

    2. Was ist refresh(); ?

    woraus folgt

    3. zeige am besten mal deinen ganzen Code


  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 15:34
    • #3

    zu 3: das ist der ganze Code, ich steht erst am anfang.

    zu 2:

    PHP
    function refresh($time,$link)
    				{
    					 echo "<META http-equiv='refresh' content='$time;URL=$link'>";
    					}

    zu 1: kann ich bei empty() auch mehere Varablen angeben oder muss ich das für jede einzeln machen?

    Zitat

    Ist allein dieser Codeschnipsel sehr unsauber, um nicht zu sagen schlecht, programmiert.

    Zeig mir wie es besser geht. Ich lerne immer gerne was dazu. :D

    p.s: kann ich trim schon auf $_POST[] anwenden?
    MFG Matthias

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

    Einmal editiert, zuletzt von #matthias (27. August 2009 um 15:39)

  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 15:42
    • #4

    also zu trim, ja kann man auf $_POST[] anwenden.

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

  • Donkey
    Meister(in)
    Beiträge
    237
    • 27. August 2009 um 15:58
    • #5

    Versuchs einfach mal so:

    PHP
    if (empty($user_name) || empty($user_passwort_1) || empty($user_passwort_2) || empty($vorname) || empty($nachname) || empty($email))
    {
        echo'<script language="javascript" type="text/javascript">
        alert ("Bitte fühlen Sie alle Felder aus!");
        </script>';
        header('Location: registrieren.html');
    }

    [Blockierte Grafik: http://www.fileden.com/files/2007/10/27/1545031/userb/ub_01.png]

    Einmal editiert, zuletzt von Donkey (27. August 2009 um 16:02)

  • Grevas
    König(in)
    Reaktionen
    3
    Beiträge
    1.043
    • 27. August 2009 um 16:23
    • #6

    und schreib noch "füllen" wie bei ausfüllen statt "fühlen" wie bei Gefühl^^

    Ich mach das immer mit if( isset($_POST[]) ), da ich öfters die variablen direkt auch noch weiterverarbeiten will und im else dann $missing .= "blabla fehlt<br />" . So hab ich später ne schöne liste mit sachen die man noch ausfüllen soll *g* (+ ich kann die farblich hervorheben)

    Einmal editiert, zuletzt von Grevas (27. August 2009 um 16:25)

  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 17:41
    • #7

    So, ich habe das Script jetzt mal etwas abgeändert.

    PHP
    $user_name = trim($_POST['username']);
    			$user_passwort_1 = trim($_POST['passwort_1']);
    			$user_passwort_2 = trim($_POST['passwort_2']);
    			$vorname = trim($_POST['vorname']);
    			$nachname = trim($_POST['nachname']);
    			$email = trim($_POST['emailadresse']);
    
    
    			//echo strlen($user_name);
    			//echo $user_name." ".$user_passwort_1." ".$vorname." ".$nachname." ".$email;
    
    			//test ob alle felder ausgefuehlt worden sind
    
    			if (empty($user_name) || empty($user_passwort_1) || empty($user_passwort_2) || empty($vorname) || empty($nachname) || empty($email))
    				{
    					echo "<script language=\"javascript\" type=\"text/javascript\" 
    								alert (\"Bitte füllen Sie alle Felder aus!\")
    								</script>";
    
    					//sind nicht alle felder ausgefuellt geht es wieder auf die registrieren.html zurueck
    					refresh(0,"registrieren.html");
    					}
    Alles anzeigen

    Es klappt aber immer noch nicht, die Variablen sind leer, aber ich bekommen nicht die Meldung. Irgendwie komme ich nicht in den IF-Zweig.

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

  • Donkey
    Meister(in)
    Beiträge
    237
    • 27. August 2009 um 17:49
    • #8

    Tja - saubere Programmierung is halt alles.

    Beim <script>-Tag fehlt das >

    [Blockierte Grafik: http://www.fileden.com/files/2007/10/27/1545031/userb/ub_01.png]

  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 17:56
    • #9

    @Donky,

    Danke, genau daran hat es gelegen!

    Wegen so ein sch.... > !
    Aber hat auch etwas gutes, so habe ich wieder etwas dazu gelernt!

    @all noch einmal danke für die Hilfe.

    MFG Matthias.

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

  • Donkey
    Meister(in)
    Beiträge
    237
    • 27. August 2009 um 18:00
    • #10

    Gewöhn Dir an einfache und doppelte Anführungszeichen (' und ") zu verwenden.
    Durch die ganzen Backslashes wird das ganze zu unübersichtlich und Fehler werden übersehen.

    In Post #5 hab ich Dir gezeigt wie´s geht.

    [Blockierte Grafik: http://www.fileden.com/files/2007/10/27/1545031/userb/ub_01.png]

  • #matthias
    Samurai
    Beiträge
    200
    • 27. August 2009 um 18:18
    • #11

    Ich hatte es ja auch zu erst mit den ' ' , aber ich habe gedacht das es vielleicht daran liegt und es in "" geändert.

    MFG Matthias

    [Blockierte Grafik: http://img361.imageshack.us/img361/6978/19980.jpg]

    HTML


    [Blockierte Grafik: http://img30.imageshack.us/img30/25/27657.gif]

Tags

  • html
  • email
  • text
  • post
  • registrieren
  • problem
  • location
  • tag
  • php
  • fehler
  • zeichen
  • daten
  • javascript
  • passwort
  • empty
  • script
  • header
  • programmierung
  • sauber
  • refresh
  • variable
  • leerzeichen

Benutzer online in diesem Thema

  • 1 Besucher
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™