Probème interprétation code javascript dans un script php
bohi
Messages postés5Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 9 mai 2011
-
6 oct. 2010 à 18:12
bohi
Messages postés5Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 9 mai 2011
-
7 oct. 2010 à 23:11
salut tous le monde
je veux exécuter du code javascript dans mon script php qui fait l'ajout d'un nouveau stagiaire dans une base de donnée mysql...et avec ce code javascript je veux vérifier si un service a plus que 2 stagiaires par an...
tout marche bien sauf quand je veux exécuter le code javascript, dans ce dernier j'ai programé la fonction prédéfinie confirm(message)..qui affiche une boite de dialogue avec deux choix OK et ANNULER.si je clique sur OK l'enregistrement du stagiaire déjà fait continue sans problème..et quand je clique sur ANNULER je supprime l'enregistrement déjà effectué pour l'interrompre...le problème c'est que le script javascript exécute juste la 2éme partie de la fonction confirm()..voici ma partie du code ou le problème existe..
$date_debut_year=substr($_POST['date_debut'],0,4);
$rs=mysql_query("SELECT * FROM stage WHERE stage.code_serv_acc='".$ligne4['code_serv_acc']."' AND date_debut LIKE '".$date_debut_year."%'") or die("requete echouée".mysql_error()."");
$nb=mysql_num_rows($rs);
$sp="DELETE FROM stagiaire WHERE cin='$cin'";
echo"<script type="text/javascript">
function confirmer(){
if(confirm("Il y a déjà 2 stagiaires dans ce service pour cette année!!!! voulez vous vraiment continuer ".$nb." ???") == true){window.history.back();}
else {
".mysql_query($sp).";
alert('Vous avez annulé l\'entregistrement de ce stagiaire!!!');
window.history.back();
}}
</script>
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 7 oct. 2010 à 02:03
Salut,
Avant toute chose, jette un oeil à la fonction mysql_real_escape_string().
Pour annuler une requête, plutôt que de supprimer un enregistrement, on peut faire un rollback (à condition de désactiver l'autocommit avant).
Sinon, ton script fonctionne... euh... correctement... Sauf que tu demandes une confirmation et tu exécutes ce qu'on confirme si on annule... C'est pas logique.
Et je ne comprends pas ce que fait ce mysql_query($sp) concaténé avec le reste, c'est du n'importe quoi. Ton code est TREEEEEES loin d'être rigoureux, mais je sais pas si ça te pose problème ou pas...
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
bohi
Messages postés5Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 9 mai 2011 7 oct. 2010 à 22:59
le code marche bien, il m'affiche la boite de dialogue pour la confirmation, et je veux que si je clique sur OK rien ne se passe càd l'enregistrement est validé ..et si je clique sur ANNULER l'enregistrement sera supprimé..càd l'utilisateur n'a pas accepté un 3 éme stagiaire dans le meme service pour l'année donnée.
mon probème avec ce code c'est quand je clique sur ANNULER ou OK ça passe la meme chose est l'enregistrement est supprimé dans les deux cas...càd la requete de suppression s'exécute dans le IF et le ELSE...c'est ça mon problème...
j'ai lu quelque chose sur ROLLBACK pour annuler les derniere modifications sur un tables mais il faut que je désactive le AUTOCOMMIT...et par la suite je vais risquer de perdre mes données de la base..merci