Dieser Code zeigt beim Öffnen im Browser "Antwort-Taste nicht gedrückt!" auf dem ersten, wenn die Seite geladen wird, und nach dem Text eingegeben wird und Post
Taste gedrückt wird, wird der Text nicht in die Datenbank eingefügt: Hier ist der Code:Was könnte in diesem PHP-Code falsch sein?
<html>
<head><title>Some Title</title></head>
<body>
<div class="bottom">
<form action="#reply" method='post'>
<input type="submit" class="button" value="Post">
</form>
</div>
<a id="reply" href="#" class="popup"></a>
<div class="popup">
<div class="title"><h3>Reply to this Topic</h3></div>
<div class="itopic">
<p>What would you think about this?</p>
<form name="pform" method="post" action="">
<tr>
<td><textarea name="text" placeholder="Enter your thoughtful response here!" cols="50" rows="20"></textarea></td>
</tr>
<br>
<tr>
<input type="submit" name="reply" class="tbutton" value="Reply"/>
</tr>
</form>
</div>
<a class="close x" href="#">x</a>
</div>
<?php
$id=$_GET['id']; //id fetched from the URL
if(isset($_POST['reply']) && !empty($_POST['reply']))
{
$conn=new mysqli('localhost','root','','forum') or die(mysql_error());
if(!strlen(trim($_POST['text']))>0)
{
echo "Reply!";
}
else
{
$stmt= $conn->prepare("INSERT into messages(id,text) VALUES(?,?)");
$stmt->bind_param('is',$id1,$text);
if(isset($_POST['text'])){ $tag = $_POST['text']; }
$id1=$id;
$stmt->execute();
$stmt->close();
$conn->close();
}
header("Location: forum.php");
}
else{
echo"Reply button Not pressed!";
}
?>
</body>
</html>
Was könnte in diesem PHP-Code falsch sein? Datenbank-Details:
- Datenbankname: Forum
- Tabellenname: Nachrichten
columns-
- ID (Fremdschlüssel Bezug auf topicID in einer anderen Tabelle)
- Zeit (Standardeinstellung ist CURRENT_TIMESTAMP)
- Text
PS: Ich bin neu in PHP. So wirklich Hilfe
geschätzt
'mysql_error()' nicht mit dem MySQLi API arbeiten. –
Probieren Sie dies aus if (isset ($ _ POST ['reply']) && $ _POST ['reply']! = "") – RJParikh
Zuerst wird in Ihrem Code $ id nicht aus dem Formular abgerufen, da Sie es nicht in der GET-Anfrage übergeben. – RJParikh