Je veux le faire si l'utilisateur a enregistré avec succès le pdo fournira une information et l'enverra à ajax et l'ajax affichera si l'utilisateur est enregistré ou non. Il fonctionnait correctement après avoir mis cette condition dans mon pdo et maintenant il n'apparaîtra plus et ajax dit "erreur d'enregistrement de l'utilisateur!" tout le temps.
scénario:
<script type="text/javascript"> $(document).ready(function() { $('#submit').click(function (e) { e.preventDefault(); var data = {}; data.name = $('#name').val(); data.age = $('#age').val(); data.gender = $('#gender').val(); data.address = $('#address').val(); data.image = $('#imgInp').val(); $.ajax({ type: "POST", url: "user.php", data: data, cache: false, success: function (response) { if (Number(response) == 1) { alert("User successfully registered"); } else { alert("Error registering user!"); } } }); return false; }); }); </script>
User.php:
<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "test"; $dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass); $dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $name = @$_POST['name']; $age = @$_POST['age']; $address = @$_POST['address']; $gender = @$_POST['gender']; $imageName = @$_FILES['image']['name']; $q = "INSERT INTO students(name, age, address, gender, imageName ) VALUES(:name, :age, :address, :gender, :image)"; $query = $dbc->prepare($q); $query->bindParam(':name', $name); $query->bindParam(':age', $age); $query->bindParam(':address', $address); $query->bindParam(':gender', $gender); $query->bindParam(':image', $imageName); $results = $query->execute(); $results ? echo "1"; : echo "2"; ; ?>
Il semble que vous avez une erreur dans:
$results ? echo "1"; : echo "2"; ;
Votre démo
Essaie comme ceci:
echo $results ? "1" : "2";
Démo de travail
Vous pouvez voir ici un didacticiel.