Probème interprétation code javascript dans un script php

Signaler
Messages postés
5
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
9 mai 2011
-
Messages postés
5
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
9 mai 2011
-
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>

if($nb>=2){
echo ("<script type="text/javascript">confirmer();</script>");
}

5 réponses

Messages postés
5
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
9 mai 2011

quelqu'un peut m'aider svp...
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
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à ;)
Messages postés
5
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
9 mai 2011

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
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Ok, bon ben moi j'abandonne.
J'aurais bien démissionné, mais je suis pas salarié, alors bon...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Messages postés
5
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
9 mai 2011

ok comme tu veux...et merci en tt cas