Ich habe ein seltsames Problem. Ich lerne vorbereitete Aussagen. Ich habe eine einfache Seite mit 1 Feld nama
und einer Tabelle mit einer Spalte nama
erstellt. Ich möchte nur sehen, dass die Daten eingehen. Wenn ich auf die Schaltfläche "Senden" drücke, werden Daten in der Tabelle angezeigt, aber jedes Mal, wenn ich Daten einfüge, wird 1
angezeigt. Alle Zeilen zeigen die gleiche Figur. Kann mich jemand durch das führen?
<?php
/**
* Start the session.
*/
session_start();
require 'connect-test.php';
$nama= isset($_POST['nama']);
$stmt=$conn->prepare("INSERT INTO test (nama) VALUES (?)");
$stmt->bind_param("s", $nama);
$stmt->execute();
if (!$stmt)
{ printf("Errormessage: %s\n", $mysqli->error);}
$stmt->close();
$conn->close();
?>
<html>
<body>
<form name="form2" method="post" action="test-deletenanti.php">
<p>Name :
<input type="text" name="nama" id="nama">
</p>
<p>
<input type="submit" name="button" id="button" value="Submit">
</p>
</form>
</body>
</html>
1 Antwort
Veränderung
$nama = isset($_POST['nama']);
Zu:
$nama = $_POST['nama'];
isset
gibt true
oder false
zurück, je nachdem, ob die Variable festgelegt ist. Sie geben sie also in $nama
anstelle des tatsächlichen Werts der Eingabe ein.
Sie sollten isset()
in einer if
-Anweisung für das Ganze verwenden:
if (isset($_POST['nama'])) {
$nama = $_POST['nama'];
// rest of code to insert into DB
}
Neue Fragen
php
PHP ist eine weit verbreitete, übergeordnete, dynamische, objektorientierte und interpretierte Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung entwickelt wurde. Wird für Fragen zur PHP-Sprache verwendet.