PHP Syntax Problem!

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    PHP Syntax Problem!

    Hi Leute,

    Ich habe ein Login Script jetzt habe ich ein Problem ich will einen Online Status anzeigen,
    Natürlich mit MySql + Session´s Mein Code bis jetzt:

    PHP-Quellcode

    1. $sql=mysql_query("UPDATE user SET aktiv='1' WHERE id='$session[id]'");

    Das Problem, es geht nicht es gibt ein Problem bei dem WHERE id=....
    Das funktioniert nicht.
    Wenn ich aber anstatt '$session[id]', 1 nehme wie auch in der Datenbank meine ID so ist
    Funktioniert es. Das heißt es stimmt etwas nicht an dem '$session[id]',
    Also ein Syntax oder ein Deklarierungsfehler würde ich sagen....
    Weiss jemand wie es funktioniert?


    Grüße GMTechnologie :D
    Keys sind Strings, daher in Anführungszeichen, wenn sie keine Variable sind.

    PHP-Quellcode

    1. $sql=mysql_query("UPDATE user SET aktiv='1' WHERE id='" . $session['id'] . "'");

    PHP-Quellcode

    1. $update = "UPDATE `user` SET `aktiv`='1' WHERE `id`= ". $session['id'] ""
    2. $sql=mysql_query($update);


    versuchs mal damit

    bei

    PHP-Quellcode

    1. $session['id']
    bekomme ich nichts raus -> Also gibt es die Deklarierung ID irgendwie ja nicht oder?! (ich bin nicht so gut in PHP)
    Ich habs mal so ausprobiert:

    PHP-Quellcode

    1. $update = "UPDATE user SET aktiv='1' WHERE id=". $_SESSION['id'] ."";
    2. $sql=mysql_query($update);

    Also $_SESSION gemacht aber das funktioniert auch nicht...

    Grüße

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „GMTechnologie“ ()

    Hi Leute ich habs jetzt nochmal so gemacht :

    PHP-Quellcode

    1. $id = "SELECT id FROM user WHERE username='".$user."'";
    2. $update = "UPDATE user SET aktiv='1' WHERE id=". $id ."";
    3. $sql=mysql_query($update);


    $user ist der Username der von der Login Form übergeben wird.
    Trotzdem funktioniert es noch immer nicht wenn ich das so mache:

    PHP-Quellcode

    1. $update = "UPDATE user SET aktiv='1' WHERE id='1'";
    2. $sql=mysql_query($update);

    Funktioniert alles aber ich möchte ja gerne das jeder User das machen kann.

    Hoffe jemand kann mir helfen.

    Grüße

    GMTechnologie schrieb:

    Hi Leute ich habs jetzt nochmal so gemacht :

    PHP-Quellcode

    1. $id = "SELECT id FROM user WHERE username='".$user."'";
    2. $update = "UPDATE user SET aktiv='1' WHERE id=". $id ."";
    3. $sql=mysql_query($update);



    mach mal folgendes:

    PHP-Quellcode

    1. $id = "SELECT id FROM user WHERE username='".$user."'";
    2. echo $id;
    3. $update = "UPDATE user SET aktiv='1' WHERE id=". $id ."";
    4. echo $update;
    5. $sql=mysql_query($update);


    und poste mal das was bei den echo anweisungen raus kommt.


    und woher kommt $user?
    poste bitte mal den code wie $user entsteht.


    GMTechnologie schrieb:


    PHP-Quellcode

    1. $update = "UPDATE user SET aktiv='1' WHERE id='1'";
    2. $sql=mysql_query($update);

    Funktioniert alles aber ich möchte ja gerne das jeder User das machen kann.


    Im gegensatz zu deinem code oben gibt du ihm ein query.
    Problem Gelöst!
    Hab als erstes die ID in eine deklarierung "gespeichert", und dann hat alles funktioniert danke Für alle!
    EDIT: Login klappt aber jetzt weiß ich nicht weiter bei dem Logout hier der Code

    PHP-Quellcode

    1. <?php
    2. $dbhost = "";
    3. $dbname = "";
    4. $dbuser = "";
    5. $dbpass = "";
    6. ob_start();
    7. session_start();
    8. mysql_connect($dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
    9. $verb = mysql_select_db($dbname);
    10. $sql = "SELECT * FROM user WHERE username='".$user."'";
    11. $quer = mysql_query($sql) or die(mysql_error());
    12. $row = mysql_fetch_object($quer);
    13. $password = $row->password;
    14. $log_id = $row->id;
    15. $update = "UPDATE user SET aktiv='0' WHERE id=". $log_id ."";
    16. $sql=mysql_query($update);
    17. session_unset();
    18. session_destroy();
    19. header ("Location: index.php");
    20. ob_end_flush ();
    21. ?>
    22. Das funktioniert nicht ich weiß nicht wo ich dieses MySql connecten und machen, machen soll!?
    23. Grüße


    Grüße

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „GMTechnologie“ ()

    Man kann bei Arrays übrigens Braces ({}) verwenden, damit der Interpreter zwischen Doublequotes (") auch als solche interpretiert.

    GMTechnologie schrieb:

    PHP-Quellcode

    1. $sql=mysql_query("UPDATE user SET aktiv='1' WHERE id='$session[id]'");
    wird dann zu

    PHP-Quellcode

    1. $sql=mysql_query("UPDATE user SET aktiv='1' WHERE id='{$session[id]}'");
    Von meinem iPhone gesendet