php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2004, 15:26  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard Return true, false

ich habe in einem Loginscript eine Klasse, die false oder true zurücksenden soll.
wenn ich jetzt am schluss habe
return false

wird gar nichts zurückgegeben. Wenn ichs mit der ifanweisung prüfe ists immer false, egal ob ich mich erfolgreich einlogge oder nicht. Wie muss ich das genau machen?
suter ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.12.2004, 15:35  
Gast
 
Beiträge: n/a
Standard

hi,

hilfreich wäre vielleicht ein stück code
 
Alt 01.12.2004, 15:37  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Return true, false

Zitat:
Zitat von suter
Wenn ichs mit der ifanweisung prüfe ists immer false,
dann machst du es falsch.

ein simples beispiel:
PHP-Code:
<?php

   
class Test
   
{
        var 
$_zahl null;

        function 
Test$zahl )
        {
            
$this->_zahl $zahl;
        }

        function 
getZahl()
        {
            return ( 
$zahl == $this->_zahl );
        }
       
        function 
pruefe$zahl )
        {
            return ( 
$zahl == $this->_zahl );
        }
   }   


   
$test = & new Test);
   
$x 5

   if( 
$test->pruefe$x ) )
   {
        echo 
'Zahlen sind nicht gleich. ' $x ' != ' $test->getZahl();
   } 
   else
   {
        echo 
'Zahlen sind gleich. ' $x ' == ' $test->getZahl();
   }   

?>
grüße ben.
imported_Ben ist offline  
Alt 02.12.2004, 11:38  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

kapiers nicht ganz wiesos bei mir nicht funktioniert, habe es ziemlich ähnlich wie du. Hier Mal Code:

Auszug aus der user.php. Die Funktion steht in einer Klasse
PHP-Code:
    function login($username$password)
    {
        
//Benutzeridentifikation prüfen
        
$login = new Query("Select * From user Where username = '$username' And password = '$password'");
        if(
$login->numRows() == 1)
        {
            
$_SESSION['username'] = $username;
            
$_SESSION['password'] = $password;
            
$_SESSION['level'] = $login->result(0"level");
            return 
true;
        }
        else
        {
            return 
false;
        } 
ibereich.php
PHP-Code:
echo user::login($_POST['username'], $_POST['password']);
if(!
user::login($_POST['username'], $_POST['password']));
{
    die(
"Problem");

Das echo gibt immer gibt 1 aus, falls ich mich richtig eingeloggt habe. Aber die die If Abfrage ist immer true, egal ob die Logindaten stimmen oder nicht.
suter ist offline  
Alt 02.12.2004, 11:46  
Gast
 
Beiträge: n/a
Standard

Hi,

die If-Abfrage stimmt net. Du prüfst momentan nur, ob die $_POST['username'] und $_POST['password'] existieren, aber net ob auch das richtige drin steht!
Versuchs mal irgendwie so:

PHP-Code:
if(isset($_POST['username'], $_POST['password']) AND login(addslashes($_POST['username']), addslashes($_POST['password'])))
{
   
// Login richtig
}
else
{
   
// Fehlermeldung....

Weiß net obs funktioniert, bin selbst noch php-noob :wink:
mfg koelle
 
Alt 02.12.2004, 12:02  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

also ich rufe doch eine Funktion auf oder? Die gibt entweder true oder false zurück. Eine if Abfrage prüft ja immer ob etwas true ist.
Wieso prüft es dann den Inhalt
suter ist offline  
Alt 02.12.2004, 12:22  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schreib mal in die funktion testausgaben und zeig und was im browser angezeigt wird.
imported_Ben ist offline  
Alt 02.12.2004, 12:52  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

also wie folgt abgeändert:
PHP-Code:
    function login($username$password)
    {
        
//Benutzeridentifikation prüfen
        
$login = new Query("Select * From user Where username = '$username' And password = '$password'");
        if(
$login->numRows() == 1)
        {
            
$_SESSION['username'] = $username;
            
$_SESSION['password'] = $password;
            
$_SESSION['level'] = $login->result(0"level");
            echo 
"return true";
            return 
true;
        }
        else
        {
            echo 
"return false";
            return 
false;
        }
    } 
Andere Datei gleich. Browserausgaben bei
erfolgreicher anmeldung:
Zitat:
return true1return trueProblem
nicht erfolgreich:
Zitat:
return falsereturn falseProblem
suter ist offline  
Alt 02.12.2004, 21:17  
Erfahrener Benutzer
 
Registriert seit: 06.09.2003
Beiträge: 309
suter
Standard

der Fehler war ein ganz dummer. Hätte die Funktion als static definieren müssen. Den so gab die Funktion immer false zurück. Muss wohl die warnings einstellen beim Apache
suter ist offline  
Alt 03.12.2004, 09:28  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hä? verstehe ich jetzt nicht ..

kannst du das mal erläutern?
danke.
imported_Ben ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
Prototype Ajax Array Datenmüll notyyy HTML, Usability und Barrierefreiheit 2 08.04.2008 10:57
Anmeldeformular mac/pc unt.punkt PHP Tipps 2008 3 05.02.2008 11:12
Problem: [Warning Empty delimiter] Lia PHP Tipps 2008 3 03.01.2008 23:21
Voraussetzungen für dieses Thumbnail Skript Plague PHP Tipps 2008 9 19.09.2007 13:35
phpfriend.de Server snatch-ic Off-Topic Diskussionen 299 30.09.2006 10:56
Aliases Werte true oder false Timo Trallala Datenbanken 5 22.05.2006 11:19
OOP-Formularüberprüfung PHP Tipps 2006 10 04.05.2006 19:37
Kann Bilder nicht Uploaden / Cannot upload my Images :( PHP Tipps 2005-2 14 25.09.2005 17:47
Array[1] == TRUE && Array[alleanderen]== FALSE TheIfrit PHP Tipps 2005-2 3 25.09.2005 14:08
[Erledigt] result immer True obwohl where-Bedingungen False Datenbanken 7 09.09.2005 18:57
[Erledigt] Datenbank nicht erreichbar PHP Tipps 2005-2 27 19.08.2005 12:20
(AUSDRUCK) ? TRUE : FALSE; PHP Tipps 2004-2 4 31.12.2004 13:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php return true, php true false, return true, return false php, return true php, php return false, php function return true, php false true, return true;, php return true false, true false php, php function true false, php true false abfrage, php funktion return true, php function return false, function return true, function true false php, php function true oder false, if return false php, return true false

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.