Ankündigung

Einklappen
Keine Ankündigung bisher.

Textfeld nur ein Mal pro Account ausfüllbar

Einklappen

Neue Werbung 2019

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

  • Textfeld nur ein Mal pro Account ausfüllbar

    Liebe PHP.de-Community,

    ich bin im PHP-Bereich neu und habe es jetzt mit viel Hilfe geschafft, ein User-System zu machen.
    Jetzt hätte ich gerne ein Textfeld, das pro Benutzer nur ein Mal ausgefüllt werden kann und diese Angabe in einer Datenbank gespeichert wird. Leider habe ich keine Ahnung, wie ich da ran gehen soll.

    Mit freundlichen Grüßen
    David

  • #2
    Wo hängst du denn? Beim Speichern? Beim Überprüfen ob das Feld schon ausgefüllt wurde? Sonstwo?

    Kommentar


    • #3
      Wenn es zum Benutzer gehört, häng es in der Datenbank an die Benutzertabelle. Aber definiere "ein Mal" - ein Mal pro Benutzer, also kann er das Updaten, oder kann er das im nachhinein nicht mehr ändern?
      [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

      Kommentar


      • #4
        Danke für die Antworten.

        Ich denke, dass ich es so umsetzen muss, dass - wie chorn bereits gesagt hat - ich an die Benutzertabelle eine Spalte hänge.
        Diese soll von jedem Benutzer nur ein Mal ausgefüllt werden und nicht mehr veränderbar sein.

        Wenn das Feld schon ausgefüllt wurde, sollte das Formularfeld durch einen Text ersetzt werden. Wie prüfe ich, ob ein Benutzer bereits das Feld ausgefüllt hat?

        LG

        Kommentar


        • #5
          Jetzt hätte ich ein weiteres Problem:
          Wenn ich das Textfeld ausfülle, wird es nicht in die Zeile meines Accounts geschrieben, sondern es wird eine komplett neue Zeile ohne Angaben und nur mit dem Eintrag gemacht.
          Wie mache ich, dass die Eingabe auch meinem Account zugewiesen wird?

          Kommentar


          • #6
            Wo ist der dazugehörige Code?

            Kommentar


            • #7
              Wie prüfe ich, ob ein Benutzer bereits das Feld ausgefüllt hat?
              https://www.php.net/manual/de/function.empty.php

              Wenn ich das Textfeld ausfülle, wird es nicht in die Zeile meines Accounts geschrieben, sondern es wird eine komplett neue Zeile ohne Angaben und nur mit dem Eintrag gemacht.
              Wie mache ich, dass die Eingabe auch meinem Account zugewiesen wird?
              Klingt, als wenn du ein INSERT machst. Was du brauchst ist ein UPDATE auf die Zeile mit deiner Benutzer-ID.
              [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

              Kommentar


              • #8
                Zitat von protestix Beitrag anzeigen
                Wo ist der dazugehörige Code?

                server.php:
                PHP-Code:
                <?php
                    $db 
                mysqli_connect(zugangsdaten);
                    if (isset(
                $_POST['tipp_a'])) {
                        
                $tipp mysqli_real_escape_string($db$_POST['tipp']);
                        if (empty(
                $tipp)) { array_push($errors"Bitte trage einen Tipp ein"); }

                        if (
                count($errors) == 0) {
                            
                $query "INSERT INTO users (tipp) 
                                VALUES('
                $tipp')";
                            
                mysqli_query($db$query);
                            
                $_SESSION['tipp'] = $tipp;
                            
                $_SESSION['success'] = "Tipp erfolgreich abgesendet!";
                            
                header('location: ../index.php');
                        }
                    }
                ?>

                Kommentar


                • #9
                  Da ist kein UPDATE drin und du benutzt keine User-ID
                  [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                  Kommentar


                  • #10
                    Zitat von chorn Beitrag anzeigen
                    Da ist kein UPDATE drin und du benutzt keine User-ID
                    Was meinst Du mit User-ID? Bzw. wo muss das eingebaut werden?

                    Kommentar


                    • #11
                      SQL Grundlagen.
                      http://www.mysqltutorial.org/mysql-primary-key/

                      Kommentar


                      • #12
                        Verstanden, danke.
                        Eine Frage noch:
                        Wie rufe ich die ID des angemeldeten Benutzers ab?

                        PHP-Code:
                        $query "UPDATE users SET tipp='$tipp' WHERE id='$userid'"
                        Also wie muss ich die Variable $userid definieren?

                        Kommentar


                        • #13
                          Wenn du nicht weisst welcher User angemeldet ist, wozu dann die Anmeldung?
                          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                          Kommentar

                          Lädt...
                          X