[PHP] Komische Fehler nach Registrierung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von BreakYaNeck, 1. August 2010 .

  1. 1. August 2010
    Komische Fehler nach Registrierung

    Ich grüße euch,

    Ich habe ein längerfristiges Problem das ich nicht lösen kann.
    Erstmal ein Screenshot wenn nur eine Person registriert ist. Die Daten die in der Registrierung eingegeben wurden, werden im Profil übertragen.

    {bild down}

    und hier ein Screenshot wenn sich eine zweite Person auf meine Seite registriert.

    {bild down}
     
  2. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Dann guck mal in deine MySQL-Tabelle, wo die User gespeichert werden..
    Ich vermute mal, dass da was mit dem Auto Increment bei der UserID nicht stimmt..

    MfG
     
  3. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Da scheint alles in Ordnung. Zeige dir mal ein Screenshot.

    {bild down}
     
  4. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Wie ist den die Mysql Abfrage?

    Vielleicht hast du vergessen auf eine ID zu reduzieren "WHERE ID = '1' LIMIT 1"
     
  5. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Denn läuft in der Profil.php wohl was falsch..

    Poste die mal.. oder Zumindest den Ausschnitt wo die Abfrage gemacht wird
     
  6. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Die Abfrage lautet:

    <?php
    mysql_connect("","root");
    mysql_select_db("ordnersystem");

    $sql="select Plz, Ort, Bundesland from user";

    $res=mysql_query($sql);

    while($dsatz=mysql_fetch_assoc($res))
    {
    ?>

    Plz/Ort:
    <div style="display:inline; margin-left: 70px;">
    <?php echo "<b>" . $dsatz['Plz'] . " / " . $dsatz['Ort'] . "</b>"; ?> <br />
    </div>

    Ist es falsch? Wie ist es richtig?
     
  7. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Damit rufst du ja alle Datensätze in der Db ab...

    Denke man kommt da sowieso nur durch nen Klick auf einen Usernamen aufs Profil? Dann musst du eben auch den Datensatz mit der UserID abfragen mit "WHERE ID = '$eineID'". Limit braucht man nicht, da es zu keinem doppelten Eintrag mit der gleichen ID kommen sollte.

    PHP:

    <?php
    mysql_connect
    ( "" , "root" );
    mysql_select_db ( "ordnersystem" );

    $sql = "select Plz, Ort, Bundesland from user WHERE ID = '" . mysql_real_escape_string ( $_GET [ 'userID' ]). "'" ;

    $res = mysql_query ( $sql );

    $fetch  mysql_fetch_array ( $res );

    ?>

    Plz/Ort:
    <div style="display:inline; margin-left: 70px;">
    <?php  echo  "<b>"  $fetch [ 'Plz' ] .  " / "  $fetch [ 'Ort' ] .  "</b>" ?> <br />
    </div>

    Evt. noch ne If-Anweisung, wenns keinen Eintrag mit der aufgerufenen ID gibt.
     
  8. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Ist es so richtig?

    <?php

    mysql_connect("","root");
    mysql_select_db("ordnersystem");

    $sql="select Plz, Ort, Bundesland from user WHERE ID = '".mysql_real_escape_string($_GET['userID'])."'";

    $res=mysql_query($sql);

    while($dsatz=mysql_fetch_assoc($res))
    {
    ?>

    Plz/Ort:
    <div style="display:inline; margin-left: 70px;">
    <?php echo "<b>" . $dsatz['Plz'] . " / " . $dsatz['Ort'] . "</b>"; ?> <br />
    </div>

    <?php
    }
    ?>
     
  9. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Ja lso das müsste eigentlich schon gehen. Hast du es denn nicht getestet? Sehe auf den ersten Blick nichts falsches. Außer das mysql_real_escape_string() ein wenig übertrieben ist.

    PHP:
    <? php

    mysql_connect
    ( "" , "root" );
    mysql_select_db ( "ordnersystem" );

    $sql = "select Plz, Ort, Bundesland from user WHERE ID = '" . intval ( $_GET [ 'userID' ]). "'" ;

    $res = mysql_query ( $sql );

    while(
    $dsatz = mysql_fetch_assoc ( $res ))
    {
    ?>

    Plz/Ort: 
    <div style="display:inline; margin-left: 70px;">
    <?php  echo  "<b>"  $dsatz [ 'Plz' ] .  " / "  $dsatz [ 'Ort' ] .  "</b>" ?> <br />
    </div>

    <?php
    }
    ?>
     
  10. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Wie schon gesagt hattest du in der Abfrage vergessen, es nur auf eine ID zu reduzieren, dass wird jetzt nun durch das $_GET['userid'] gemacht.

    Ich habe mal das Script von badloader übernommen und nocht eine Zeile eingefügt wenn die Userid nicht in der Datenbank vorhanden ist.

    PHP:
    <? php

    mysql_connect
    ( "" , "root" );
    mysql_select_db ( "ordnersystem" );

    $sql = "select Plz, Ort, Bundesland from user WHERE ID = '" . intval ( $_GET [ 'userID' ]). "'" ;

    $res = mysql_query ( $sql );

    if(
    mysql_num_rows ( $sql ) <=  0 ){

    echo 
    'Der User existiert nicht' ;

    }else{

    while(
    $dsatz = mysql_fetch_assoc ( $res ))
    {
    ?>

    Plz/Ort: 
    <div style="display:inline; margin-left: 70px;">
    <?php  echo  "<b>"  $dsatz [ 'Plz' ] .  " / "  $dsatz [ 'Ort' ] .  "</b>" ?> <br />
    </div>

    <?php
    }

    }
    ?> 
     
  11. 1. August 2010
    AW: Komische Fehler nach Registrierung

    Habe es jetzt wie spo0n22 gemacht bekomme eine fehlermeldung das der user nicht existiert. Verstehe es nicht denn der user existiert doch. Ausserdem wird das Profil nicht mehr angezeigt wie Plz oder ort. Hier nen Screenshot.

    Ich hoffe ich euch nicht ab

    Hier die profil.php

    http://ul.to/bvnerg

    {bild down}
     
  12. 1. August 2010
    AW: Komische Fehler nach Registrierung

    http://localhost/profil.php?userID=1

    versuchs mal damit Du musst dem Skript schon ne ID zum Suchen in der DB geben.

    btw ist die while-Schleife nicht nötig, da du nur 1 Datensatz benötigst.
     
  13. 1. August 2010
    AW: Komische Fehler nach Registrierung

    ja es klappt, juhuu

    Aber ganz verstehe ich nicht mit dem

    http://localhost/profil.php?userID=5[/url]

    Kannst du mir das erklären. Geht das irgendwie auch automatisch. Weil wenn Person A auf sein Profil möchte muss er vorher

    http://localhost/profil.php?userID=5

    tippen
     
  14. 1. August 2010
    AW: Komische Fehler nach Registrierung


    Wenn Person A "der Besitzer seiner Seite" auf seine Seite möchte, kannst du das z.B. mit einer Session auch machen. Bei allen anderen musst du die Id an die Url hängen und nacher mit GET holen.


    PHP:
    $id =(!isset( $_GET [ 'id' ]))? $_SESSION [ 'id' ]: $_GET [ 'id' ];

    Alles selber programmiert oder baust du auf das phpBB auf? Musst nämlich die session beim Login natürlich erstellen.
     
  15. 2. August 2010
    AW: Komische Fehler nach Registrierung

    Es soll eine Community werden wo jeder sein eigenes profil hat
     
  16. 2. August 2010
    AW: Komische Fehler nach Registrierung

    Das war nicht meine Frage ^^

    Nimm mir das auch nicht böse... aber für so eine Community fehlt dir glaub ich noch ein bisschen das Wissen (was du natürlich lernen kannst) Du kennst scheinbar noch nicht so ganz die Basics. GET war dir wohl ein wenig unbekannt, wieso die while Schleife da ist und was sie macht genauso. Passwörter speichert man niemals im Klartext in der Datenbank ab!


    Wie sieht denn dein Login aus? Basiert er auf Sessions? Wie identifizierst du einen User? Anhand einer ID die in einer Session gespeichert wird?

    Ich würde die ID in einer Session speichern und so damit weiter verfahren. Ist am einfachsten meiner Meinung nach.


    Edit:// Habe mir die Profil.php angeguckt. Man sollte beim Logout die session zerstören. session_destroy
    + cookie löschen. Mit Javascript eine Weiterleitung.. Wozu unbedingt JS?
    Entweder wenns ne Zeitgesteuerte Weiterleitung sein muss nimm HTML. Ein meta refresh.
    Dann musst du wenigstens nicht extra Javascript mit ins Spiel bringen.

    Methode zwei wäre ein header:location senden der auf eine "logout_success" Seite (so nenne ich das jetzt mal) weiterleitet.

    Dann:
    PHP:
    <? php  if(isset( $_SESSION [ 'logged_in' ])) {  ?>

    <?php  } else {  ?>

    Die Abfrage ist doch ein wenig doof gemacht oder? Mach doch lieber einfach ein !isset und dann brauchst du auch kein else. Ist nur für dich zur Übersichtlichkeit der Tipp.

    HTML:
    &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp; &nbsp; &nbsp;
    
    Nicht dein ernst oder? Das lasse ich jetzt mal unkommentiert. Du solltest dich in den Berreich CSS aufjedenfall einarbeiten, wenn du deine Seiten W3C valid haben willst.

    Sobald du die Auflösung änderst, fliegst du mit deiner Leerzeichen Methode gewaltig hin. Da solltest du doch eher mit margin,padding ect arbeiten.


    Hoffe mein Post hat dich jetzt nicht entmutigt weiter zu machen.
    Besser Kritik als iwas dahergelogen. Dadraus kannst du nicht lernen aus Kritik schon.
     
  17. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.