Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datenbankeintrag über ein Textfeld ändern

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Datenbankeintrag über ein Textfeld ändern

    Hallo, ich hab in einer Datenbank einen Eintrag und kann ihn mit php auslesen.
    Nun hab ich mit HTML ein Textfeld und einen Button erstellt und möchte nun sobald mal den Button drückt, dass der Eintrag vom Textfeld den Datenbankeintrag erneuert. Wie würde sowas gehen? Und wie kann man mit HTML oder PHP eine einfache waagrechte Linie erstellen?


  • #2
    das sind Grundlagen.

    Du willst den Eintrag ändern? Dann schau dir Update mal an. Eine Linie erzeugst du mit CSS.

    Kommentar


    • #3
      Ich hab es ja versucht mit UPDATE, aber bekomme es nicht hin

      Kommentar


      • #4
        Zitat von Defence Beitrag anzeigen
        Ich hab es ja versucht mit UPDATE, aber bekomme es nicht hin
        wenn du wenigstens schreiben würdest wie du es probiert hast, könnte man dir schon eher helfen.

        Kommentar


        • #5
          PHP-Code:
          <?php
          require_once('inc/mysql_connectinfo.php');
          $db_link mysqli_connect ($dbhost$dbuser$dbpass$db);
          $title "SELECT title FROM settings";

          $erg mysqli_query ($db_link$title);

          if ( ! 
          $erg )
          {
            die(
          'Error: ' mysqli_error());
          }
          ?>
          <h3> Hier können sie allgemeine Einstellungen verwalten.</h3></br>
          <h4>Titel ändern</h4>
          <strong><p>Aktueller Titel: </strong>
          <?php 
          while ($titel mysqli_fetch_array$ergMYSQL_ASSOC))
          {
          echo 
          $titel ['title'];
          mysql_query ("UPDATE settings SET title = newtitle WHERE title = $titel['title']");
          }
          ?>
          </p>

          <div id="title">
                      <form method="post">
                          <label for="newtitle"><strong>Neuer Titel: </strong></label>
                              <input type="text" id="newtitle" name="newtitle">
                              <input type="submit" id="etitle" value="Titel ändern">
                      </form>    
                  
              </div>
          Da habt ihr meinen Versuch!

          Kommentar


          • #6
            Ist schonmal gut das du mysqli benutzt, aber bei dir gibt es noch einiges was du lernen solltest.

            Deine Form hat zB keine Action und ich kann schwer sagen wo du landest, wenn du den Submit Button drückst. Und in deiner UPDATE Query hast du newtitle geschrieben. newtitle gibt es aber nicht. um das ergebnis eines formulars zu bekommen musst du die $_POST Variablen abfragen.

            Zum Einstieg kann ich dir das hier empfehlen http://tut.php-quake.net/de/mysql-php.html
            bleib aber auf jedenfall bei mysqli oder pdo

            Kommentar


            • #7
              $db_link = mysqli_connect ($dbhost, $dbuser, $dbpass, $db);

              $erg = mysqli_query ($db_link, $title);

              die('Error: ' . mysqli_error());

              while ($titel = mysqli_fetch_array( $erg, MYSQL_ASSOC))

              mysql_query ("UPDATE settings SET title = newtitle WHERE title = $titel['title']");
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar


              • #8
                Ich komme irgendwie damit nicht klar, kann mir jemand helfen?

                Kommentar


                • #9
                  Zeig doch einmal, womit du nicht zurecht kommst.
                  GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

                  Kommentar


                  • #10
                    PHP-Code:
                    <?php
                    include ('auth.php');
                    include (
                    'inc/tpl/head.tpl');
                    include (
                    'inc/tpl/navi.tpl');
                    ?>

                    <?php
                    require_once('inc/mysql_connectinfo.php');
                    $db_link mysqli_connect ($dbhost$dbuser$dbpass$db);
                    $title "SELECT title FROM settings";

                    $erg mysqli_query ($db_link$title);

                    if ( ! 
                    $erg )
                    {
                      die(
                    'Error: ' mysqli_error());
                    }
                    ?>
                    <!-- Haupteil -->

                    <title>Adminbereich - Allgemeine Einstellungen</title>
                     
                     <body>
                    <section>
                    <article>

                       <h3> Hier können sie allgemeine Einstellungen verwalten.</h3></br>
                    <h4>Titel ändern</h4>
                    <strong><p>Aktueller Titel: </strong>
                    <?php 
                    while ($titel mysqli_fetch_array$ergMYSQL_ASSOC))
                    {
                    echo 
                    $titel ['title'];


                    mysqli_query ("UPDATE settings SET title = '$_POST['newtitle']' WHERE title = '$titel['title']' ");
                    }
                    ?>
                    <div id="title">
                                <form method="post" action="main.php">
                                    <label for="newtitle"><strong>Neuer Titel: </strong></label>
                                    <input type="text" id="newtitle" name="newtitle">
                                    <input type="submit" id="newtitle" value="Titel ändern">
                                </form>    
                            
                        </div>
                       
                    </article>
                    </section>
                    </body>

                    <?php
                    include ('inc/tpl/footer.tpl');
                    ?>
                    <link href="css/site.css" type="text/css" rel="stylesheet" />
                    <link href="css/main.css" type="text/css" rel="stylesheet" />
                    Hier ist der Code!

                    Dieser Fehlercode wird angezeigt:
                    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /users/defence/www/Webseite/admin/main.php on line 37

                    Kommentar


                    • #11
                      PHP-Code:
                      "UPDATE settings SET title = '$_POST['newtitle']' WHERE title = '$titel['title']' " 
                      Besser
                      PHP-Code:
                      "UPDATE settings SET title = '{$_POST['newtitle']}' WHERE title = '{$titel['title']}' " 
                      Noch besser
                      PHP-Code:
                      "UPDATE settings SET title = '".$_POST['newtitle']."' WHERE title = '".$titel['title']."' " 
                      Am allerbesten wirds aber, wenn du prepared statements verwendest, denn dann beseitigst du die SQL Injection Lücke gleich mal mit...
                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        Zitat von lstegelitz Beitrag anzeigen
                        Besser
                        Noch besser
                        Und noch etwas besser wird's, wenn du bei Tabellen- und Spaltennamen Backticks verwendest
                        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                        Kommentar


                        • #13
                          Danke Istegelitz, es funktioniert jetzt.
                          Letzte Frage von mir in diesen Thema: Wie mache ich es, dass ich sobald der Eintrag geändert hab sich der "Aktuelle Titel: ", der abgefragt wird direkt mitändert? Das neuladen kann nähmlich schon etwas irritieren...

                          Kommentar


                          • #14
                            Erst updaten, dann abfragen.

                            PHP-Code:
                            if(abgeschickt){
                                
                            update()
                            }
                            query() 
                            Relax, you're doing fine.
                            RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                            Kommentar

                            Lädt...
                            X