Daten werden falsch gespeichert
bearbeitet von JnnboHallo,
ich verstehe ein Verhalten von meinem Script leider nicht, vielleicht könnt ihr mir dieses erklären. Mein Code sieht unverändert aus:
~~~js
$("#ajax_form").submit(function() {
$("#response").html("<div class=\"data\">Daten werden gespeichert...</div>");
$.ajax({
type: "POST",
url: "inc/ajax.php?get=<?php echo $code_get;?>",
data: "p_preis=" + $("#p_preis").val() + "p_vk1=" + $("#p_vk1").val() + "p_vk2=" + $("#p_vk2").val() + "p_vk3=" + $("#p_vk3").val(),
success: function(msg)
{
$("#response").html(msg);
}
});
return false;
});
~~~
Mein PHP Code
~~~php
if(isset($_POST['p_preis'])) {
if ($stmt = $mysqli->prepare("Update web_produkte SET p_preis=?, p_vk1=?, p_vk2=?, p_vk3=? WHERE p_code = ?"))
{
$p_preis = $_POST["p_preis"];
$p_vk1 = $_POST["p_vk1"];
$p_vk2 = $_POST["p_vk2"];
$p_vk3 = $_POST["p_vk3"];
$stmt->bind_param("sssss", $p_preis, $p_vk1, $p_vk2, $p_vk3, $code_get);
$stmt->execute();
echo "<div class=\"ok\">Preise wurden erfolgreich gespeichert!</div>";
exit;
}
else {
echo $mysqli -> error;
}
}
~~~
Mein HTML Code
~~~html
<form name="form1" id="ajax_form" method="post" action="">
<p>
<label for="p_preis">EK-Preis</label>
<input type="text" name="p_preis" id="p_preis" value="<?php echo htmlspecialchars($p_preis);?>">
</p>
<p>
<label for="p_vk1">Preis 1</label>
<input type="text" name="p_vk1" id="p_vk1" value="<?php echo htmlspecialchars($p_vk1);?>">
</p>
<p>
<label for="p_vk2">Preis 2</label>
<input type="text" name="p_vk2" id="p_vk2" value="<?php echo htmlspecialchars($p_vk2);?>">
</p>
<p>
<label for="p_vk3">Preis 3</label>
<input type="text" name="p_vk3" id="p_vk3" value="<?php echo htmlspecialchars($p_vk3);?>">
</p>
<p>
<input type="submit" name="senden" id="senden" value="Senden">
</p>
</form>
~~~
Wenn ich ein Update von einem Feld mache, wird dieses in der Datenbank in ein Feld und zwar in "p_preis" gespeichert. Die Frage ist warum? Ich sage doch zu keinem Zeitpunkt füge mir bitte alles zusammen? Ich verstehe es einfach nicht. Sehr ihr zufällig den Fehler?
Daten werden falsch gespeichert
bearbeitet von JnnboHallo,
ich verstehe ein Verhalten von meinem Script leider nicht, vielleicht könnt ihr mir dieses erklären. Mein Code sieht unverändert aus:
~~~js
$("#ajax_form").submit(function() {
$("#response").html("<div class=\"data\">Daten werden gespeichert...</div>");
$.ajax({
type: "POST",
url: "inc/ajax.php?get=<?php echo $code_get;?>",
data: "p_preis=" + $("#p_preis").val() + "p_vk1=" + $("#p_vk1").val() + "p_vk2=" + $("#p_vk2").val() + "p_vk3=" + $("#p_vk3").val(),
success: function(msg)
{
$("#response").html(msg);
}
});
return false;
});
~~~
Mein PHP Code
~~~php
if(isset($_POST['p_preis'])) {
if ($stmt = $mysqli->prepare("Update web_produkte SET p_preis=?, p_vk1=?, p_vk2=?, p_vk3=? WHERE p_code = ?"))
{
$p_preis = $_POST["p_preis"];
$p_vk1 = $_POST["p_vk1"];
$p_vk2 = $_POST["p_vk2"];
$p_vk3 = $_POST["p_vk3"];
$stmt->bind_param("sssss", $p_preis, $p_vk1, $p_vk2, $p_vk3, $code_get);
$stmt->execute();
echo "<div class=\"ok\">Preise wurden erfolgreich gespeichert!</div>";
exit;
}
else {
echo $mysqli -> error;
}
}
~~~
Mein HTML Code
~~~html
<form name="form1" id="ajax_form" method="post" action="">
<p>
<label for="p_preis">EK-Preis</label>
<input type="text" name="p_preis" id="p_preis" value="<?php echo htmlspecialchars($p_preis);?>">
</p>
<p>
<label for="p_vk1">Preis 1</label>
<input type="text" name="p_vk1" id="p_vk1" value="<?php echo htmlspecialchars($p_vk1);?>">
</p>
<p>
<label for="p_vk2">Preis 2</label>
<input type="text" name="p_vk2" id="p_vk2" value="<?php echo htmlspecialchars($p_vk2);?>">
</p>
<p>
<label for="p_vk3">Preis 3</label>
<input type="text" name="p_vk3" id="p_vk3" value="<?php echo htmlspecialchars($p_vk3);?>">
</p>
<p>
<input type="submit" name="senden" id="senden" value="Senden">
</p>
</form>
~~~
Wenn ich ein Update von einem Feld mache, wird dieses in der Datenbank in ein Feld und zwar in "p_preis" gespeichert. Die Frage ist warum? Ich sage doch zu keinem Zeitpunkt füge mir bitte alles zusammen? Ich verstehe es einfach nicht. Sehr ihr zufällig den Fehler?
Daten werden falsch gespeichert
bearbeitet von JnnboHallo,
ich verstehe ein Verhalten von meinem Script leider nicht, vielleicht könnt ihr mir dieses erklären. Mein Code sieht unverändert aus:
~~~js
$("#ajax_form").submit(function() {
$("#response").html("<div class=\"data\">Daten werden gespeichert...</div>");
$.ajax({
type: "POST",
url: "inc/ajax.php?get=<?php echo $code_get;?>",
data: "p_preis=" + $("#p_preis").val() + "p_vk1=" + $("#p_vk1").val() + "p_vk2=" + $("#p_vk2").val() + "p_vk3=" + $("#p_vk3").val(),
success: function(msg)
{
$("#response").html(msg);
}
});
return false;
});
~~~
Mein PHP Code
~~~php
if(isset($_POST['p_preis'])) {
if ($stmt = $mysqli->prepare("Update web_produkte SET p_preis=?, p_vk1=?, p_vk2=?, p_vk3=? WHERE p_code = ?"))
{
$p_preis = $_POST["p_preis"];
$p_vk1 = $_POST["p_vk1"];
$p_vk2 = $_POST["p_vk2"];
$p_vk3 = $_POST["p_vk3"];
$stmt->bind_param("sssss", $p_preis, $p_vk1, $p_vk2, $p_vk3, $code_get);
$stmt->execute();
echo "<div class=\"ok\">Preise wurden erfolgreich gespeichert!</div>";
exit;
}
else {
echo $mysqli -> error;
}
}
~~~
Mein HTML Code
~~~html
<form name="form1" id="ajax_form" method="post" action="">
<p>
<label for="p_preis">EK-Preis</label>
<input type="text" name="p_preis" id="p_preis" value="<?php echo $p_preis;?>">
</p>
<p>
<label for="p_vk1">Preis 1</label>
<input type="text" name="p_vk1" id="p_vk1" value="<?php echo $p_vk1;?>">
</p>
<p>
<label for="p_vk2">Preis 2</label>
<input type="text" name="p_vk2" id="p_vk2" value="<?php echo $p_vk2;?>">
</p>
<p>
<label for="p_vk3">Preis 3</label>
<input type="text" name="p_vk3" id="p_vk3" value="<?php echo $p_vk3;?>">
</p>
<p>
<input type="submit" name="senden" id="senden" value="Senden">
</p>
</form>
~~~
Wenn ich ein Update von einem Feld mache, wird dieses in der Datenbank in ein Feld und zwar in "p_preis" gespeichert. Die Frage ist warum? Ich sage doch zu keinem Zeitpunkt füge mir bitte alles zusammen? Ich verstehe es einfach nicht. Sehr ihr zufällig den Fehler?