Ankündigung

Einklappen
Keine Ankündigung bisher.

problem, db abfrage-ändern etc....

Einklappen

Neue Werbung 2019

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

  • problem, db abfrage-ändern etc....

    ich habe auf meiner seite einen internen bereich,
    da möchte ich das der benutzer seinen status ändern kann.

    PHP-Code:
    <? echo 'hallo ' .$_SESSION['u_name'].', willkommen im internen bereich'; ?>

    also schreibe ich ein formular, daten ändern wie muss ich nun vorgehen, damit die daten genau bei dem user geändert werden?

  • #2
    Du übergibst per Formular die Daten.
    Du fragst auf PHP-Seite ab, was übergeben wurde.
    Du prüfst ob die übergebenen Daten valide sind.
    Du nutzt die Datenbankschnittstelle deiner Wahl, wenn du eine MySQL-Datenbank benutzt wäre das für dich http://php.net/manual/de/book.mysqli.php oder http://php.net/manual/de/book.pdo.php, um ein UPDATE durchzuführen. Dabei vergisst du natürlich nicht, die Usereingaben zu escapen, indem du Prepared Statements benutzt, oder auf die entsprechenden Funktionen zugreifst(http://php.net/manual/de/mysqli.real-escape-string.php bzw. http://php.net/manual/de/pdo.quote.php).

    http://www.php.de/php-einsteiger/489...nsammlung.html
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      oha,

      anhand der Session kann ich die userdaten nicht abändern ?
      mir geht es lediglich um diese eine funktion , ich will doch keine berge versetzen oder PHP von grund auf lernen nur damit ich herausbekomme ,

      wie ich ein einziges formularfeld für eben genau den user ändern kann

      Kommentar


      • #4
        wie ich ein einziges formularfeld für eben genau den user ändern kann
        Ich seh kein Formularfeld in deinem Code...

        VPH hat es treffend beschrieben und wenn Du nicht mehr code hast, dann ist das der Weg. Die angabe "Status ändern" ist auch ein sehr weitläufiger Begriff

        mfg wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          natürlich habe ich mehr code:

          PHP-Code:
          <? echo 'hallo ' .$_SESSION['u_name'].', willkommen im internen bereich'; ?>

           <form action="test.php" method="POST">
                   <b>Ich komme zu Deinem Geburtstag:</b>

                   <select name="status" size="1">
                   <option>Ja</option>
                   <option>Nein</option>
                   </select>

                   <input type="submit" value=" Absenden ">

          </form>
          Natürlich dann die Änderung bzw. das Update der Datenbank mit:

          PHP-Code:
          <?php
          $aendern 
          "UPDATE u_name Set status = [hole ich mir aus dem Formular] für den User aus der Session "
          ?>
          Aber wie ?

          Ich habe 4 Tabellenspalten,

          Spalte 1= ID
          Spalte 2=u_name
          Spalte 3=u_pass
          Spalte 4=status


          Nur nochmal kurz zur Funktionsbeschreibung,

          Der Gast geht auf die Webseite, loggt sich ein, kann die Gästeliste und sein Status sehen - Hier soll es um den Status gehen wo der gast sagt : Ja ich komm oder ich komme nicht.

          Kommentar


          • #6
            Hi,

            dir fehlt die komplette Datenbankgeschichte. Schau mal hier: http://www.peterkropff.de/site/php/p...ungsaufbau.htm - ich empfehle dir PDO als Datenbankzugriff.

            Kleine Anmerkungen zu deinem Script:

            - in der ersten Zeile fehlt dir ein session_start();
            - <form action="test.php" method="POST"> das action attribut kannst du leer lassen, wenn du dieselbe Seite aufrufst
            - bei deiner Dropdown Liste fehlt bei den option's der value
            - gib sinnvollerweise deinem submit Button einen Namen, damit du ihn gezielt abprüfen kannst
            - Werte aus einem Formular werden nachdem absenden üblicherweise mit:

            echo $_POST["NamedeinesFeldes"];

            ausgegeben. Wichtig bei Datenbankabfragen/-änderungen usw. das Du die Daten sorgfältig validierst.

            mfg wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar

            Lädt...
            X