• Hi,

    also, ersteinmal: normalerweise frag ich keine Fragen wie diese, aber ich bin momentan echt am verzweifeln...

    Ich möchte, dass beim Login des Users alle Daten zum jeweiligen User in Session Variablen gespeichert werden. Das habe ich so gemacht:

    ...\clanpage\a-website-erstellen\starten\login.php:


    Nun sollen auf einer Seite die Daten in Textboxen angezeigt wrden, um sie ändern zu können:

    PHP
    [...]
    <tr><td>BenutzerId:                  </td><td>    <? echo "<input type='text' value='". $id ."' name='id' readonly>";  ?>              </td><td><font color="#FF0000"><b>Feld kann nicht geändert werden</b></font></td></tr>
    
    
    <tr><td>Nickname:                    </td><td>    <? echo "<input type='text' value='". $nickname ."' name='nickname' readonly>";  ?>  </td><td><font color="#FF0000"><b>Feld kann nicht geändert werden</b></font></td></tr>
    [...]

    Die dazugehörigen Variablen habe ich so gespeichert:

    (Direkt davor)


    Aber leider bleiben die Textboxen leer, und ich habe keine Ahnung warum. Ich habe das selbe schon auf einer anderen Website und mir den Code einfach kopiert und eingefügt und Variabelnb angepasst.
    Auf der anderen Website klappt alles, aber hier leider nicht, ich habe keine Ahnung warum, bitte helft mir :(


    Da Der Fehler überall liegen könnte, schreib ich hiernochmal die gesammte index.php. Die Seite zum ändern der Daten ist unter include/2.php


    mfg+Danke jetzt schon
    Pascalus


    Relevanter Teil der index.php:

    2.php:

    Viele Grüße
    Pascalus

    ------------------------------------------------------------------------------------------------
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Wo ist dein session_start() ?

    Ansonsten probier einfach mal:

    PHP
    echo "<pre>";
    print_r($_SESSION);
    echo "</pre>";

    Sag was kommt, dann schaumer mal weiter ;)

    P.S.

    if (!isset ($_SESSION["user_id"]))
    {

    Ähm, wenn $_SESSION["user_id"] nicht gesetzt wurde - dann sollen deine Variablen erst gesetzt werden? Da stimmt doch was nicht.

    2 Mal editiert, zuletzt von Grevas (18. Februar 2010 um 18:27)

  • Hi,

    also das session start habe ich im login.php ganz am Anfang. Oder muss man das nochmal machen?


    Dann habe ich in die 2.php nur

    echo "<pre>";
    print_r($_SESSION);
    echo "</pre>";

    geschrieben, und die Seite blieb weiß.


    Weiß jemand Antwort?


    PS: Ich habe

     <?
    $id = $_SESSION["user_id"];
    $nickname = $_SESSION["user_nickname"];
    $mail = $_SESSION["user_mail"];
    $geburt = $_SESSION["user_geburt"];
    $vname = $_SESSION["user_vname"];
    $nname = $_SESSION["user_nname"];
    $info = $_SESSION["user_info"];
    $webname = $_SESSION["user_webname"];
    $clanid = $_SESSION["user_clanid"];
    $code = $_SESSION["user_code"];
    ?> 

    vor das if gesetzt.


    mfg


    EDIT: Wenn ich session_start() vorne ransetze, erscheint immer mein "Unknown Error"
    Ich bin echt am verzweifeln :(

    Viele Grüße
    Pascalus

    ------------------------------------------------------------------------------------------------
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
    Johann Wolfgang von Goethe

    Einmal editiert, zuletzt von Pascalus (18. Februar 2010 um 19:19)

  • session_start();
    gehört an den Anfang jeder Datei.

    Und verwende keine Short-Tags (die könnten abgeschaltet sein), also schreibe <?php statt nur <?

    Und dann poste einfach mal die relevanten Dateien komplett, bei deinem Gestückel sieht man ja nicht durch.

  • Hi,
    alles klar. Hiier mal alle Dateien:

    login.php:


    die index, in der die Daten benötigt werden:

    (Relevant nur der Teil zw. den ////////)
    Step 2 (2.php) ist der Teil, in dem die Daten in den Textboxen angezeigt werden sollen:


    Ich hoffe mir kann jemand helfen :(

    Viele Grüße
    Pascalus

    ------------------------------------------------------------------------------------------------
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • if (!isset ($_SESSION['user_id']))
    Wie schon erwähnt ist das logisch falsch. Das ! muss weg.

    Wenn das Formular also angezeigt wird, existiert $_SESSION['user_id'] nicht, demnach können die Textfelder nicht gefüllt sein.

    Du hast aber geschrieben, dass auch mal "Unknown Error" angezeigt wurde. In dem Fall existierten die Session-Variablen, werden also unter bestimmten Umständen schon gesetzt.

    Es ist jetzt also deine Aufgabe herauszufinden, wann die Session-Variablen gesetzt sind und wann nicht.

  • Fehler gefunden. ALles wunderbar :)

    Danke :D

    Viele Grüße
    Pascalus

    ------------------------------------------------------------------------------------------------
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Mhhh ich will ja nix sagen... aber dieses hier ist ein ganz böses Faul:

    PHP
    $sql = "SELECT ".
        "id, nickname, mail, geburt, vname, nname, info, webname, clanid, code ".
      "FROM ".
        "clanpage_user ".
      "WHERE ".
        "(nickname like '".$_REQUEST['name']."') AND ".
        "(code like 'ja') AND ".
        "(pw = '".md5 ($_REQUEST['pwd'])."')";

    Stichwort: SQL-Injection

  • Das ist das erste mal, das mit die Suchfunktion in einem Forem echt was gebracht hat und zwar recht flott!!
    Hatte das Problem das ich in der einen Datei oben das session_start() vergessen habe :D
    Danköö

    Don't follow me, I run into walls.