zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Einfaches Funktions Problem

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.05.2010, 10:40
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard Einfaches Funktions Problem

Hi,
ich bins Mal wieder. Ich habe folgenden Code, aber irgendwas stimmt daran nicht:
PHP-Code:
<?php
                
            






function eingabeFormularPrüfen($benutzerName$benutzerPasswort$benutzerPasswort2$email$email2){
                               if (!isset(
$benutzerName)){
                                   
$benutzerNameEingegeben false;
                               }    
                               
                               if (!isset(
$benutzerPasswort)){
                                   
$benutzerPasswortEingegeben false;
                               }
                               if (!isset(
$benutzerPasswort2)){
                                   
$benutzerPasswort2Eingegeben false;
                               }
                               return 
$benutzerNameEingegeben;
                               
}

eingabeFormularPrüfen($_POST["username"], $_POST["paswort1"], $_POST["passwort2"], $_POST["email"], $_POST["email2"]);

    if (
$benutzerNameEingegeben == false){
        echo 
"Bitte gib einen Benutzernamen an";
    }
Die if Bedingung wird immer ausgeführt, egal ob etwas eingegeben wurde oder nicht warum?!
Gibt es eine bessere Möglichkeit die vollständigkeit zu überprüfen?
LG rs-web
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 09.05.2010, 12:07
Benutzerbild von stravid
Human Compiler
XHTMLforum-Mitglied
 
Registriert seit: 16.01.2008
Ort: Austria
Beiträge: 186
stravid befindet sich auf einem aufstrebenden Ast
Standard

Du musst der Variable die du in der if-Bedingung verwendest schon einen Wert zuweisen...

PHP-Code:
$benutzerNameEingegeben eingabeFormularPrüfen($_POST["username"], $_POST["paswort1"], $_POST["passwort2"], $_POST["email"], $_POST["email2"]);

if (
$benutzerNameEingegeben == false){ 
        echo 
"Bitte gib einen Benutzernamen an"
    } 
Bei booleschen Variablen brauchst du in einer if keine == oder dergleichen, die Variable ist ja schon ein bool!

PHP-Code:
if (!$benutzerNameEingegeben) {} 
Macht exakt das selbe.

Und ich bezweifle das es guter Stil ist Sonderzeichen in PHP Code zu verwenden! Wundert mich sowieso dass das funktioniert.. also schmeiß am besten das ü aus dem Funktionsnamen!
__________________
David Strauß - stravid.com
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 09.05.2010, 12:39
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Ok, danke für die Hilfe. Da hatte ich dann wohl was falsch verstanden. Habe immer gemeint, das mit dem Funktionsaufruf die Variable schon erstellt wird.
LG rs-web
Mit Zitat antworten
  #4 (permalink)  
Alt 09.05.2010, 12:45
Benutzerbild von stravid
Human Compiler
XHTMLforum-Mitglied
 
Registriert seit: 16.01.2008
Ort: Austria
Beiträge: 186
stravid befindet sich auf einem aufstrebenden Ast
Standard

Was mir gerade auffällt: Du solltest in der Funktion die Variable am Anfang auf true setzen! Weil was gibst du sonst zurück wenn du sie nicht auf false setzt?
__________________
David Strauß - stravid.com
Mit Zitat antworten
  #5 (permalink)  
Alt 09.05.2010, 12:57
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Stimmt, ich bin nur grad am Überlegen, wie ich die Formulareingaben am besten überprüfe. Aber danke für den Hinweis.
LG rs-web
Mit Zitat antworten
  #6 (permalink)  
Alt 10.05.2010, 13:42
Benutzer
neuer user
 
Registriert seit: 01.02.2010
Ort: Berlin
Beiträge: 49
webdecker wird schon bald berühmt werden
Standard

Schon erledit? Was mir noch auffällt: das Ganze dürfte eigentlich nicht funktionieren, da du die Variable $benutzerNameEingegeben innerhalb der Funktion nicht als global definiert hast ("global $benutzerNameEingegeben;").

Variablen innerhalb einer Funktion sind nur dort sichtbar, es sei denn, du setzt sie auf global. Wenn du also in der Funktion $benutzerNameEingegeben auf X setzt, bekommt der Rest des Skripts das nicht mit.
Mit Zitat antworten
  #7 (permalink)  
Alt 10.05.2010, 16:01
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
aber mit return gebe ich doch den Wert zurück oder? Also wenn ich die Funktion aufrufe ungefähr so:
$variable = eingabeFormularPrüfen($benutzerName, $benutzerPasswort, $benutzerPasswort2, $email, $email2)

Dann müsste $variable doch true sein oder hab ich da einen Denkfehler?
Mit Zitat antworten
  #8 (permalink)  
Alt 10.05.2010, 16:53
Benutzer
neuer user
 
Registriert seit: 01.02.2010
Ort: Berlin
Beiträge: 49
webdecker wird schon bald berühmt werden
Standard

Zitat:
Zitat von rs-web Beitrag anzeigen
$variable = eingabeFormularPrüfen($benutzerName, $benutzerPasswort, $benutzerPasswort2, $email, $email2)

Dann müsste $variable doch true sein oder hab ich da einen Denkfehler?
Nee, kein Denkfehler. Für benutzername sollte das mit der o.g. Korrektur funktionieren, aber du hast mit der Funktion ja noch mehr vor und meine Anmerkung gilt dann eher für die anderen Abfragen (passwort, passwort2...).
Mit Zitat antworten
  #9 (permalink)  
Alt 10.05.2010, 18:16
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Achso, ok danke für den Hinweis. Ja aber ich werd die Funktion wahrscheinlich ändern, da das so nicht die beste Lösung ist
LG rs-web
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Linke Spalte verschwindet nicht (einfaches Problem) evix CSS 1 22.05.2007 22:36
Einfaches Problem mit float Zen5656 CSS 9 04.01.2007 00:55
Problem mit WordPress und dem Bilder Upload Maxefix Serveradministration und serverseitige Scripte 0 19.12.2006 15:58
Problem bei Div's - zwei mal das gleiche und doch nicht ... Niriel CSS 10 09.06.2005 18:39
Problem mit einem CSS Layout nARC CSS 20 21.05.2005 07:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:44 Uhr.