[Funktion] Warning: Missing argument 1 for login()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Warning: Missing argument 1 for login()

    Hallo zusammen

    Möchte meinen TREUEN Besucher ein Benutzer Bereich anbieten, login und logout und so.

    Aber es will einfach nicht funktionieren bei Login.

    Mein Code sieht so etwa aus

    PHP-Code:
    <?
                        include 'sessionhelpers.inc.php';
                        if (isset($_POST['login']))
                        {
                        $userid=check_user($_POST['uname'], $_POST['pwd']);
                        if($userid!=false)
                        login($userid);
                        else 
                        echo '<span class=unkorrekt> &nbsp; Unkorrekte Daten!</ span><br>';
                        }
                        if (!logged_in()) {
                            echo '
                            <form action="index.php" method="post">
                                <tr><th> &nbsp; Login</th><td></td>
                                <tr><td align="left" valign="top"> &nbsp; Username:</td><td align="left" valign="top"><input name="uname" type="text" size="10" maxlength="30" style="font-family:Arial, Helvetica, sans-serif; font-size:10px"></td></tr>
                                <tr><td align="left" valign="top"> &nbsp; Passwort:</td><td align="left" valign="top"><input name="pwd" type="password" size="10" maxlength="30" style="font-family:Arial, Helvetica, sans-serif; font-size:10px"></td></tr>
                                <tr><td align="left" valign="top"> &nbsp; <input name="login" type="submit" id="login" value="Login"></td><td></td>
                                <tr><td colspan="2" align="left" valign="top"> &nbsp; <a href="tobe.php" class="login">Gratis Member werden</a></td></tr>
                                <tr><td colspan="2" align="left" valign="top"> &nbsp; <a href="forgot.php" class="login">Passwort vergessen?</a></td></tr>
                            </form>';
                        }
                        else if (login()){
                        $sql = mysql_query("UPDATE users WHERE userid=$userid")
                                    or die (mysql_error()); 
                        echo 'Hallo '.$user.'<br>';
                        echo '<a href="logout.php" class="login">Ausloggen</a>';
                        }
                    ?>
    Mein Sessions sieht etwa so aus:

    PHP-Code:
    function check_user($uname$pwd)
    {
    $sql="SELECT userid FROM users WHERE uname='".$uname."' AND pwd=MD5('".$pwd."') LIMIT 1";
    $result=mysql_query($sql) or die(mysql_error());
    if (
    mysql_num_rows($result)==1)
    {
    $user=mysql_fetch_assoc($result);
    return 
    $user['userid'];
    }
    else
    return 
    false;
    }

    function 
    login($userid) {
    $sql="UPDATE users SET UserSession='".session_id()."' WHERE userid=".$userid;
    mysql_query($sql);

    Und es motzt immer:

    Warning: Missing argument 1 for login() on line 20 (bei function login()


    Könnte mir jemand helfen?

    Vielen Dank

    Gruss

  • #2
    Schau dir bitte mal die Fkt Definition und deinen Fktaufruf an. Könnte es sein, dass du den Fehler selbst findest (im überigen ist die Fehlermeldung ja sehr genau)
    PHP-Code:
    //Definition
    function login($userid) {
    ....
    if (!
    logged_in()) {
                        }
                        else if (
    login()){ 
    Siehst du es jetzt ??

    Gruss

    tobi

    EDIT:

    Und brich deinen Code um !!

    Zuletzt geändert von jahlives; 17.03.2006, 08:02.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hallo

      Ich habe nun etwas geändert:

      PHP-Code:
      <?
                          include 'sessionhelpers.inc.php';
                          if (isset($_POST['login']))
                          {
                          $userid=check_user($_POST['uname'], $_POST['pwd']);
                          if($userid!=false)
                          login($userid);
                          else 
                          echo '<span class=unkorrekt> &nbsp; Unkorrekte Daten!</ span><br>';
                          }
                          if (!logged_in()) {
                              echo '
                              <form action="index.php" method="post">
                                  <tr><th> &nbsp; Login</th><td></td>
                                  <tr><td align="left" valign="top"> &nbsp; Username:</td><td align="left" valign="top"><input name="uname" type="text" size="10" maxlength="30" style="font-family:Arial, Helvetica, sans-serif; font-size:10px"></td></tr>
                                  <tr><td align="left" valign="top"> &nbsp; Passwort:</td><td align="left" valign="top"><input name="pwd" type="password" size="10" maxlength="30" style="font-family:Arial, Helvetica, sans-serif; font-size:10px"></td></tr>
                                  <tr><td align="left" valign="top"> &nbsp; <input name="login" type="submit" id="login" value="Login"></td><td></td>
                                  <tr><td colspan="2" align="left" valign="top"> &nbsp; <a href="tobe.php" class="login">Gratis Member werden</a></td></tr>
                                  <tr><td colspan="2" align="left" valign="top"> &nbsp; <a href="forgot.php" class="login">Passwort vergessen?</a></td></tr>
                              </form>';
                          }
                          else if (login($userid)){
                          $sql = mysql_query("UPDATE users WHERE userid=$userid")
                                      or die (mysql_error()); 
                          echo 'Hallo '.$user.'<br>';
                          echo '<a href="logout.php" class="login">Ausloggen</a>';
                          }
                      ?>
      Ist aber nicht gegangen mit das zeigen von Ausloggen und so nach dem Login. Im SQL sehe ich, das ich online bin.

      Könnte mir jemand helfen?

      Besten Dank

      Gruss

      Kommentar


      • #4
        So bis du die Breite deines Posts angepasst hast gibt es nur noch dies für dich von mir:
        Schau dir deine Fkt Definition an. Welcher Dateitype ist der Rückgabewert der Fkt ? Gibt sie überhaupt was zurück ?
        Das sollte sie aber schon, weil du auf boolsche Rückgabewerte prüfst.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar

        Lädt...
        X