Fehler in Funktion

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

  • Fehler in Funktion

    Hallo,
    habe ein login script was nach usernamen und userssesions überprüft nun wollte ich es aber auch für mehrere USer zur verfügung stellen jedoch in einer und der selben Tabelle nur bin ich ein ziemliicher grünschnabel in sachen php und mysql.
    Bitte schaut euch mal die folgende funktion an und nennt mir bitte meine fehler wäre für eure hilfe recht dankbar

    PHP-Code:

    function logged_in()
    {
        
    $sql="SELECT UserIdFROM users WHERE "Domain ='".Domain."' AND "UserSession='".session_id()."'LIMIT 1";
        
    $resultmysql_query($sql);
          return ( 
    mysql_num_rows($result)==1);

    Und hier einmal das Formular worüber sich der user einloggen muss.

    PHP-Code:
    <?php


    session_start
    ();
    include 
    'inc/connect.inc.php';
    include 
    'Config/Datenbank.php';
    if (isset(
    $_POST['login']))
    {
        
    $userid=check_user($_POST['domain'],$_POST['username'], $_POST['userpass']);
        if (
    $userid!=false)
            
    login($userid);
        else
            echo 
    'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!
    logged_in()){
        echo 
    '<form method="post" action="login.php">
            <label>Domain:</label><input name="domain" type="text"><br>
            <label>Benutzername:</label><input name="username" type="text"><br>
            <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
            <input name="login" type="submit" id="login" value="Einloggen">
        </form>'
    ;
        }
    else {



    $connection mysql_connect($host$user$Passwort)or die("Keine Verbindung möglich: " mysql_error());
    mysql_select_db($Datenbank) or die ("Die Datenbank konnte nicht ausgewählt werden!");
    $anfrage mysql_query("SELECT * FROM users WHERE  Domain = '$domain' AND UserName = '$username'");
    //echo mysql_errno().": ".mysql_error()."<BR>";


    ?>
    Thanks für eure hilfe

  • #2
    Re: Fehler in Funktion

    Original geschrieben von Trexx
    PHP-Code:

    function logged_in()
    {
        
    $sql="SELECT UserIdFROM users WHERE "Domain ='".Domain."' AND "UserSession='".session_id()."'LIMIT 1";
        
    $resultmysql_query($sql);
          return ( 
    mysql_num_rows($result)==1);

    schaue dir doch mal das syntaxhighlighting genau an. da siehst du auch, was du schon alles falsch gemacht hast.

    desweiteren scheinen dir die grundlagen in mysql zu fehlen. möglicherweise fehlen dir auch grundlagen des copy&paste, denn das sieht als basis sehr nach meinem 'schönen usermanagement' aus.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      was denn?

      Kommentar


      • #4
        les dir 3 mal den query durch ... dann weisstes

        Kommentar


        • #5
          PHP-Code:
          $sql="SELECT UserIdFROM users WHERE "Domain ='".Domain."' AND "UserSession='".session_id()."'LIMIT 1"
          ändere das mal in
          PHP-Code:
          $sql="SELECT UserId FROM users WHERE Domain ='$Domain' AND UserSession='session_id()' LIMIT 1"
          Wenn du doppelte Anführungszeichen für den String verwendest, dann darfst du innerhalb des Strings keine doppelten Anführungszeichen haben (ausser du escapest sie). Bei deinem Beispiel sucht er nach einer Funktion domain. Ausserdem solltest du noch eine Var $domain haben, denn sonst suchst du nach dem String domain in deiner DB.

          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


          • #6
            Original geschrieben von jahlives
            PHP-Code:
            $sql="SELECT UserId FROM users WHERE Domain ='$Domain' AND UserSession='session_id()' LIMIT 1"
            Du hast zwar den Fehler korrigiert dafür aber ein neues "eingabaut".

            cheers
            Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
            PHP Sicherheit
            PHPUnit[1-2]
            Professionelle Softwareentwicklung mit PHP 5
            Professionelle PHP 5-Programmierung

            Kommentar


            • #7
              damit ist der nun auch weg ....
              PHP-Code:
              $sql "SELECT UserId FROM users
                      WHERE
                         Domain ='"
              .mysql_escape_string($Domain)."' AND
                         UserSession='"
              .session_id()."' LIMIT 1"
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar

              Lädt...
              X