Récupérer plusieurs valeurs avec xhr.responseText
bonjour
je voudrais savoir si c'est possible de récupérer plusieurs valeur.
je voudrais afficher une erreur si il y a et l'afficher dans le div erreur.
je ne vois pas comment faire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function lookpanier() {
document.getElementById('vispanier').style.display='block';
let idart = <?php echo $idan; ?>;
let article = "<?php echo $titre_astuce; ?>";
let stock = <?php echo $quanti; ?>;
let xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour afficher dans le div
document.getElementById('visupanier').innerHTML = leselect;
document.getElementById('erreur').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","anonc/panier.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("idan="+idart+"&article="+article+"&stock="+stock);
} |
fichier panier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| if (isset($_POST['idan']) AND is_numeric($_POST['idan']) AND !empty($_POST['idan']) AND isset($_POST['stock']) AND !empty($_POST['stock']) AND isset($_POST['article']) AND !empty($_POST['article']))
{
$idan = $_POST['idan'];
$article = $_POST['article'];
$stock = $_POST['stock'];
$baspani = $bdd->prepare("SELECT sum(quanti) as quant FROM panier WHERE idan = :idan AND ip = :ip");
$baspani->execute(array(
'idan'=> $idan,
'ip'=> $ip
));
if ($baspanier = $baspani->fetch()){
$quanti = $baspanier['quant'];
} else {$quanti = 1; }
if ($quanti < $stock){
if($quanti > 0){
$enr = $bdd->prepare("UPDATE panier SET quanti = :quanti, date = NOW() WHERE idan = :idan AND ip = :ip");
$enr->execute(array(
'quanti'=> $quanti + 1,
'idan'=> $idan,
'ip'=> $ip
));
} else {
$quanti = 1;
$enr = $bdd->prepare("INSERT INTO panier SET idan = :idan, user = :user, ip = :ip, article = :article, quanti = :quanti, date = NOW()");
$enr->execute(array(
'idan'=> $idan,
'user'=> $log,
'ip'=> $ip,
'article'=> $article,
'quanti'=> $quanti
));
}
} else {
$message = "Plus de stock actuellement";
}
$baspan = $bdd->prepare("SELECT sum(quanti) as nbquat FROM panier WHERE ip = :ip");
$baspan->execute(array(
'ip'=> $ip
));
if ($bpanier = $baspan->fetch()){
$quanti = $bpanier['nbquat'];
}
echo $quanti;
}
else {
$message = "Problème d'identification du produit";
}
if(isset($message)){
echo $message;
} |