Die Aktualisierung der Daten in der MySql-Datenbank mit PHP-Formular

Ich hoffe es gibt jemanden der mir helfen kann. Ich bin versucht, zu aktualisieren, Daten in einer MySql-Datenbank mit einem PHP-Formular mit einer textarea.
Solange ich ein update der Datenbank mit einer zufälligen Zeichenfolge, die definiert ist, an den Anfang der Seite, es funktioniert gut. Aber wenn ich versuche zu aktualisieren, wird die Datenbank mit dem $_POST['text'] erhalte ich aus dem Formular, wird der Wert in der Datenbank nicht aktualisiert.

Ich habe wirklich keine Ahnung, was das problem ist, also ich hoffe es gibt jemanden der mir helfen kann um diese Arbeit zu machen. Bitte lassen Sie mich wissen, wenn meine Frage nicht klar genug.

test.php

<html>
<head>
  <script type="text/javascript" src="./js/tinymce/tinymce.min.js"></script>
  <script type="text/javascript">
    tinymce.init({
      selector: "textarea",
      plugins : 'advlist autolink autoresize autosave link image lists charmap media paste preview spellchecker',
      image_advtab: true
    });
  </script>
</head> 

<body>
  <?php
    $con=mysqli_connect("example.com","test","abc123","my_db");
    //Check connection
    if (mysqli_connect_errno())
    {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }                                  

    $result = mysqli_query($con,"SELECT content FROM page_content WHERE page = 'Zangpedagoog'");

    while($row = mysqli_fetch_array($result))
    {
      $text=$row['content'] ;
    }    
  ?>

  <form method="post" action="./send.php">
    <textarea name="text" width="100%">
    <?php echo $text ?>
    </textarea>
    <input id="submit" name="submit" type="submit" value="Send"></form></body></html>

send.php

<?php
  $update = $_POST['text'];
  echo $update;

  $random = '123456';
  echo $random;

  $con=mysql_connect("example.com","test","abc123","my_db");
  //Check connection
  if (!$con)
  {
    echo "Failed to connect to MySQL: " . mysql_connect_error();
  }

  mysql_query("UPDATE page_content SET content=$update WHERE page='Zangpedagoog'",$con);

  mysql_close($con);

?> 
  • Zuerst bist du mit mysqli_query dann bist du mit mysql_query versuchen zu kleben mit "eins", mysqli_ ist besser und für so viele Gründe.
  • mysql_* ist veraltet, benutze mysqli oder pdo statt. Sie müssen auf jeden Fall auf prepared statements auch, dein code ist weit offen für SQL-injection-Angriffe
  • auch dieses verwenden: php.net/manual/en/function.htmlspecialchars.php
  • Versuchen Sie, ein semi-colon in deine textarea echo ' ed PHP, wie in <?php echo $text; ?> oder <?php echo $_POST['$text']; ?>
InformationsquelleAutor user1946633 | 2013-10-08
Schreibe einen Kommentar