Hey Ich habe ein Formular mit zwei Senden Tasten und eine einfache Texteingabe. Ich möchte, dass das Formular von Ajax eingereicht wird (ich habe herausgefunden, wie das geht).Zwei Tasten Formular Vorlage mit AJAX
Form:
<form method='post' action='likesystem.php' id='7'>
<input class='form-control' type='hidden' value='7' name='postid'>
<button type='submit' class='btn btn-success btn-sm' name='poslike' value='liking'>Like this</button>
<button type='submit' class='btn btn-danger btn-sm' name='poslike' value='disliking'>Dislike this</button>
das Skript wie folgt:
<script>
$('#7').on('submit', function(event) {
event.preventDefault();
$.ajax({
url: 'likesystem.php',
type: 'POST',
data: $('#7').serialize(),
});
});
</script>
die PHP-Seite:
<?php
require_once 'config.php';
$link = mysqli_connect($DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_NAME);
if(! $link) {
die('Could not connect: ' . mysql_error());
echo "Connection Error";
}
if($_SERVER["REQUEST_METHOD"] == "POST") {
$postid = $_POST['postid'];
switch($_POST['poslike']) {
case 'liking':
$sql = "UPDATE posts SET poslike = poslike + 1 WHERE id = $postid";
case 'disliking':
$sql = "UPDATE posts SET dislike = dislike + 1 WHERE id = $postid";
}
if (mysqli_query($link, $sql)) {
echo "You did something";
} else {
echo "There was an error";
}
mysqli_close($link);
}
Was ich m Ich mache hier falsch? Ich habe mehrere Seiten überprüft, aber die Antworten dort könnten helfen und deshalb frage ich sie jetzt hier.
Was haben Sie erwartet, vs, was du hast? – cHao
Sie sollten AJAX-Ereignisse mit 'succes/error' Callbacks (oder' done()/fail() ') auslösen, Ihr' switch' ist falsch, '$ _SERVER [" REQUEST_METHOD "]' ist nutzlos ..... Lesen ein Tutorial und wiederholen, weil es für jetzt sehr chaotisch ist – pirs
@cHao Ich erwartete die Datenbank zu ändern, aber das ist nicht passiert. –