[PHP] user können profil erstellen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von The Baddy, 8. März 2009 .

  1. 8. März 2009
    user können profil erstellen

    Hallo,
    ich benötige mal wieder eure Hilfe.
    Auf meiner Seite können sich User registrieren und einloggen, nun möchte ich das sie auf einer Seite ihre Profildaten eingeben bzw. ändern können.
    Sie sollen sachen wie ihre Email adresse ect. eingeben können und diese sollen dann gespeichert und ihrem Nickname zugewiesen werden.
    Es gibt eine Datei namens profil.php wenn man zum beispiel profil.php?id=1 eingibt sollen dort die daten eines bestimmten Users an der stelle wo ich sie haben möchte ausgegeben werden.
    Momentan werden die passwörter in passwords.php und die namen in users.php gespeichert und über .htacces geschützt. nun möchte ich das zum beispiel alle email adressen in emails.php gespeichert werden.
    Ich hoffe ihr könnt mir helfen und versteht mein Problem :]

    vielen dank schonmal im vorraus, bin über jegliche tipps dankbar
     
  2. 9. März 2009
    AW: user können profil erstellen

    Gibt verschiedene OpenSource CMS Systeme, z.B. Typo3. Damit kannst du so was machen.
     
  3. 9. März 2009
    AW: user können profil erstellen

    aha hilft ihm jetz viel
    ich würd die Passwörter/User besser in ner SQL-Datenbank abspeichern und nicht in Dateien...
    Um dann die Profile über "profil.php?user=bla" anzeigen zu lassen, packste dann einfach ne SQL-Abfrage in die profil.php, in dem er alle Userdaten vom User "$_GET['user']" anzeigt.
    Mal als Beispiel:

    profil.php?user=hans
    PHP:
    $qry  mysql_query ( "select * from User where user = ' $_GET [ 'user']' " );
    $row  mysql_fetch_object ( $qry );
     
    echo 
    "Name: " . $row -> Name ;
    echo 
    "EMail: " . $row -> email ;
    ..
    Wenn dus aber dateibasiert behalten möchtest, müsstest du ja irgendwie versuchen die einzelnen Daten aus den Dateien zu fischen und dann noch den einzelnen Usern zuordnen^^

    mfg
     
  4. 9. März 2009
    AW: user können profil erstellen

    Wenn du es dateibasiert machst, wieso machst du dann ne Datei users.php und eine passwords.php??
    Wieso nicht pro User eine Datei, in der dann alle Variablen stehen?

    Jedoch würde ich auch davon abraten und es mit MySQL machen. Eine ganz einfache Tabelle mit allen Infos, die man dann jederzeit ändern kann.
     
  5. 9. März 2009
    AW: user können profil erstellen

    Jenach Useranzahl könnte das ein totales Datenchaos geben .

    Das Profil eines Users dessen Daten dann noch auf mehrere Files verstreut sind, auszulesen, ist viel zu viel Code für so einen simplen Kram.

    Big-Show dein Code ist total unsicher und funktioniert so auch nicht!
    Verbesserte Version:
    PHP:

    $_GET
    [ 'user' ] =  mysql_real_escape_string ( $_GET [ 'user' ]);
    $qry  mysql_query ( 'SELECT * FROM User WHERE User = "' $_GET [ 'user' ] '"' );
    $row  mysql_fetch_object ( $qry );

    echo 
    'ICQ-Nummer:' . $row [ 'ICQ' ];



    Ich denke mal du bist zu faul oder traust dich nicht wirklich an eine DB ran und deshalb lässt du es auf Text-Files liegen, kenn ich zu gut von meinen Anfangszeiten in PHP .
     
  6. 9. März 2009
    AW: user können profil erstellen

    Da hast du recht traue mich nicht wo wirklich an eine Datenbank heran.
    Wenn mir jemand etwas genauer beschreibt wie es mit einer Datenbank funktioniert wäre ich dankbar, sollte halt eine Seite geben auf der der User seine Daten wie Name, Interessen, Homepage ect. eintragen und später auch ändern kann und diese müssten in der DB gespeichert werden.
    Wenn ich dann hinter den Link profil.php?=NAME den name eingebe sollte er mir alle daten auf dieser seite Anzeigen, eine profilseite habe ich mir schon vorgefertigt müsste halt nur noch die Inhalte ausgaben wo ich sie haben möchte.
    Ich weiß halt auch nicht wie ich die Spalten in der Datenbank erstellen muss ect.
     
  7. 9. März 2009
    AW: user können profil erstellen

    Schau dir das Tutorial auf php-einfach.de an
     
  8. 9. März 2009
    AW: user können profil erstellen

    Wusst ichs doch .
    Erste Regel ist das du dir erstmal ne Datei machst die die Verbindung zur DB immer wieder aufbaut
    und die Datenbank auswählt, diese includierst du dann jedes mal wenn du was aus der DB brauchst.
    Konkret sieht das so aus:
    PHP:
    <? php
    mysql_connect
    ( 'localhost' 'Benutzername' 'Passwort' );
    mysql_select_db ( 'Datenbankname' );
    ?>
     
  9. 9. März 2009
    AW: user können profil erstellen

    ok soweit bin ich jetzt also auf jedenfall liest meine login.php datei die Benutzernamen und Passwörter so aus:
    PHP:
    $a  file ( "users.php" );
    $b  file ( "passwords.php" );
    $users  array_combine ( $a , $b );
    ich denke mal das muss ich so verändern das er diese Daten aus der Datenbank ausliest.
    Wenn ich dann Eingeloggt bin soll man halt auf einer seite in einem Formular seine Profildaten eingeben können und wenn man sie später ändern will sollen die aktuellen Daten noch da stehen.
    Dann muss ich natürlich nurnoch die Daten eines bestimmten users auslesen wenn man seinen Profillink aufruft.
     
  10. 9. März 2009
    AW: user können profil erstellen

    Deine Arbeitsweise ist schon richtig, vom Prinzip her machst du nichts anderes:

    auslesen, schreiben, auslesen schreiben.

    Solche Grundlagen findest du hier z.B sehr gut erklärt:

    Quakenet/#php Tutorial - de - Einleitung

    Einfach via Browsersuche MySQL da kommst zum richtigen Teil.
     
  11. 9. März 2009
    AW: user können profil erstellen

    Werde mich jetzt mal damit beschäftigen, wäre aber trotzdem cool wenn mir einer ein paar hilfestellungen geben würde mit denen ich arbeiten kann, da ich es denk ich mal nicht komplett alleine umsetzen kann.

    EDIT: habe jetzt alles sowet befolgt und jeden reihe in der tabelle bekommt nun eine ID , jedoch weiß ich nicht wie ich eine bestimmte Reihe bearbeiten kann, in dem Tutorial finde ich nur eine anleitung wie ich eine neue zeile mit bestimmtem inhalt in den spaltene erstellen kann.
    Ich würde jedoch gerne wenn ich zb. benutzer mit der id 3 bin die spalte mit der id3 bearbeiten können.
     
  12. 9. März 2009
    AW: user können profil erstellen

    Du musst es so einstellen das jeder neue Eintrag eine automatisch aufaddierte ID bekommt(auto_increment in der DB einstellen). So hat jeder Eintrag eine ID dem bestimmte Daten zugewiesen sind. Sagen wir mal der User mit der ID 1 heißt admin und du möchtest alle Informationen aus dem Eintrag auslesen dies geht so:

    SELECT * FROM User WHERE ID = "1"

    beachte den unterstrichenen Teil .
     
  13. 9. März 2009
    AW: user können profil erstellen

    jop das mit der ID habe ich alles schon gehabt nur der code dafür hat mir gefehlt thx.
     
  14. 9. März 2009
    AW: user können profil erstellen

    Okay .
    Denke dran das wenn du später dein Script schreibst welches die Profildetails verändern soll, mit UPDATE zu arbeiten und nicht mit INSERT INTO. UPDATE überschreibt z.B den wert von ID=1 und INSERT INTO fügt ne neue Reihe ein :].

    Und dies oben ist kein Code sondern ein SQL-Befehl damit du direkt die richtigen Begriffe lernst .
     
  15. 9. März 2009
    AW: user können profil erstellen

    alles klar bin jetzt das komplette tutorial durchgegangen aber habe es leider alles nicht so richtig begriffen, habe mir nun auch das loginscript tutorial angeguckt. Dort gibt es auch die funktion um das Profil zu bearbeiten, jedoch finde ich alles noch ziehmlich kompliziert und verwirrend.
    Kannst du mir vllt. deine icq nr./msn-adresse oder so geben falls ich noch fragen habe?

    EDIT:
    Damit lassen sich die Daten nicht ausgeben es kommt immer eine Fehlermeldung, würde es auch gerne so umbauen das ich id=1 eingeben kann und damit dann alle Daten des Benutzers mit der ID 1 ausgeben kann aber irgendwie klappt es nicht.
    PHP:
    $_GET [ 'user' ] =  mysql_real_escape_string ( $_GET [ 'user' ]);
    $qry  mysql_query ( 'SELECT * FROM User WHERE User = "' $_GET [ 'user' ] '"' );
    $row  mysql_fetch_object ( $qry );

    echo 
    'ICQ-Nummer:' . $row [ 'ICQ' ];  
     
  16. 9. März 2009
    AW: user können profil erstellen

    @x69

    DEIN Code ist auch falsch. die Werte werden im Objekt gespeichert und als Array ausgegeben..aha xD
    dann müsste der Befehl nicht mysql_fetch_object, sondern mysql_fetch_assoc heißen. das wird dann vermutlich auch der Fehler sein

    @threadersteller
    dann machste einfach statt $_GET['user'] -> $_GET['id']... je nachdem wie ID-SPalte bei deinen Usern heißt
     
  17. 9. März 2009
    AW: user können profil erstellen

    die fehlermeldung sagt mir das der Fehler in dieser Zeile zufinden ist.
    PHP:
    $_GET [ 'user' ]*=* mysql_real_escape_string ( $_GET [ 'user' ]);
    EDIT: klappt nicht mit id in meiner Datenbank sieht es wie folgt aus:
    ID Nick Passwort Web Icq Mail
    diese daten will ich in meiner profil.php an den richtigen stellen ausgeben.
     
  18. 9. März 2009
    AW: user können profil erstellen


    $_GET['user'] *=* mysql_real_escape_string($_GET['user']);

    Was haben den die Sterne dort zu suchen? Entferne diese mal.
     
  19. 9. März 2009
    AW: user können profil erstellen

    bringt nichts er zeigt mir immer diese meldung an
    Parse error: syntax error, unexpected T_VARIABLE in profil.php on line 158
     
  20. 9. März 2009
    AW: user können profil erstellen

    Du hast bestimmt eine Zeile vorher das ; vergessen.
    Achja: Bei MySQL Abfragen sollte man auch immer am Ende der Abfrage ein ; anhängen, einige Dinge die hier genannt werden, tuhen echt schon weh und dürften gar nich als Hilfe dienen...^^ (zb was big-show schon korrigierte, object erstellen und als array auslesen xD nachdenken würde schon was bringen )

    parste mal zeile 155 bis 160 (zb bei nopaste.de), dann lässt sich dein Fehler bestimmt schnell finden.

    @ x69
    so sicher ist dein code nun auch wieder nicht, nur weil du den string escapst, heißt es nicht das er sicher ist. bei dir könnt ich locker deine ganze datenbank leeren
     
  21. 9. März 2009
    AW: user können profil erstellen

    geht
    PHP:
    $_GET [ 'user' ]*=* mysql_real_escape_string ( $_GET [ 'user' ]);  
    überhaupt?
    was sollen das fürn sinn ergeben?!

    muss doch wenn dann so sein:
    PHP:
    $user  mysql_real_escape_string ( $_GET [ 'user' ]);  
     
  22. 9. März 2009
    AW: user können profil erstellen

    Wir sind doch alle nicht perfekt . Was die Sterne da zu suchen haben weiß ich auch nicht.

    Ja, big-show, funktioniert aber und der Wert in der Variable wird so einfach überschrieben.
    Wieso soll man auch immer wieder neue Variablen nehmen .
     
  23. 9. März 2009
    AW: user können profil erstellen

    aso ok, wusste noch gar nich das sowas funzt^^
     
  24. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.