Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2007, 11h56   #1
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Par défaut probléme de variable

Bonjour,

Je souhaite arréter l'exécution de mon script php, par l'intermédiaire d'une fenetre confirm() en javascript, je ne trouve aucun moyen pr l'arreter.
Le javascript étant du coté client et le php server, comment puis-je faire ?
Merkiiiii

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
case 4: //Doc Mediatheque
	echo "<script language=javascript>";
	echo "if (!confirm('Valider les modifications ?')) {location.href ='updateMedia.php?id=".$_GET['id'].
			"';".return false;.";}";
	echo "</script>";
	/*echo '<center><input type=submit name=bouton value=Modifier onClick="'.$java.'"/>';*/
 
		$id_doc=$_GET['id'];
		$cat=@$_POST['categorie'];
		$description=@$_POST['motcle'];
		$resume=@$_POST['resume'];
		$titre_doc=@$_POST['titre_doc'];
		$titre_art=@$_POST['titre_art'];
		$auteur=@$_POST['auteur'];
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 11h58   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Ben à froid comme ca il n'y a aucune raison que ca soit possible.
Maintenant tu peux "bricoler" quelquechose. Imaginons que ton script soit une boucle infinie qui fasse des tests sur ta machine, je ne sais pas c'est un exemple.
La solution c'est donc de definir dans ce script un test périodique qui va regarder par exemple toutes les minutes si un fichier "arret.txt" a été créé. Si non il continue de boucler, si oui il le supprime et s'arrete.

Ensuite en javascript tu fais appel à un script PHP qui va se charger de créer le fichier arret.txt

Mais ca c'est dans le cas où ton but est d'arreter un script précis, qui boucle, par pour arreter n'importe quel script en cours d'exécution.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 17h28   #3
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Bon je vois pas trop ske tu veux dire par la ...
Aurais-tu une petite astuce en stock pour contourner mon probléme ?
J'en ai marre de me casser la téte pour rien ...
Merci !
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 17h30   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Euh c'est ce que je t'ai donnée : une astuce.

Essaies d'expliquer mieux de quel script php tu parles (c'est quoi ce script que tu veux arreter? il fait quoi?)
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 17h34   #5
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut et pourquoi pas PHP?

Pourquoi tu ne veux pas arrêter ton script PHP avec une fonction PHP comme exit() par exemple?
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 09h45   #6
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
En faite, par rapport au code que j'ai posté au dessus, j'appel la fonction confirm() en javascript, si l'utilisateur clique sur OK, pas de probléme on continue l'exécution de la page php qui permet de supprimer une occurence de ma base MySQL. En revanche si l'utilisateur clique sur annuler, j'aimerai pouvoir ne pas exécuter la suite du code php et donc stopper l'exécution.
Suis-je plus claire koopajah ?

Pour repondre à David, j'aimerai bien utiliser la fonction exit() mais la on est dans du code javascript ...
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 09h49   #7
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Quand l'utilisateur agit sur la page en appuyant sur des boutons, le code PHP a déjà été TOTALEMENT exécuté, puisque le PHP est exécuté coté serveur et le javascript coté client.

Maintenant si j'ai mal compris et que ce que vous souhaitez faire correspond a ca: on a une page avec un bouton "supprimer" par exemple et vous voulez une confirmation pour l'utilisateur de type "etes vous sur" avant de faire la suppression. Dans ce cas là vous n'avez pas a "arreter" le code PHP, il n'a meme pas commencé a etre exécuté, il faut simplement en javascript empecher le lancement de ce script. Maintenant avec le code que vous donnez ca va etre dur de vous aider, il en faudrait un peu plus.

Mais une chose est sure, si ce que vous voulez arreter, c'est le code PHP qui est placé juste apres votre "confirm" dans le code donné, c'est impossible, puisque pour que l'utilisateur puisse executer le javascript il faut que le php ait été totalement interprété/exécuté.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h06   #8
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Bon jvai mettre un peu plus de code, mais c'est a peu ca koopajah, l'orsque l'utilisateur clique sur le bouton 'Modifier', j'affiche un message "Etes vous sur ... " et voila si il clique sur "Annuler" je ne veux pas execuer la requete update.

Code avec le bouton : lorsque l'utilisateur clique sur le bouton "Modifier", j'appel la fonction modifFic() sur la page modifFic.php.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
include ("connexion.php");
include("modifFic.php");
echo "<form method=post action=#>";
 
if($_POST['bouton']=='Modifier'){
	modifFic(4,$id_doc);
}
 
/* inutile de presiser le code ici */
 
echo '<center><input type=submit name=bouton value=Modifier>';
echo "</center>";
echo "</form>";
echo "<center><a href=resultModifMedia.php?passage=true><IMG ALIGN=top SRC='images/retour.gif' border=0></a></center>";

Code de la fonction modifFic() dans modifFic.php :
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
 
case 4: //Doc Mediatheque
             echo "<script language=javascript>";
	echo "if (!confirm('Valider les modifications ?')){location.href='updateMedia.php?id=".$_GET['id']."';".return false;.";}";
	echo "</script>";
	/*echo '<center><input type=submit name=bouton value=Modifier onClick="'.$java.'"/>';*/
 
             $id_doc=$_GET['id'];
	$cat=@$_POST['categorie'];
	$description=@$_POST['motcle'];
	$resume=@$_POST['resume'];
	$titre_doc=@$_POST['titre_doc'];
	$titre_art=@$_POST['titre_art'];
	$auteur=@$_POST['auteur'];
	$date=@$_POST['date'];
	$site=@$_POST['site'];
	$type=@$_POST['type'];
 
/* je fais des controle entre les deux, mais inutile de poster ca */
 
	$sql="update document_mediatheque set  description='".$description."', resume='".$resume."', titre_doc='".
		 $titre_doc."', titre_art='".$titre_art."', auteur='".$auteur."', date_parution='".$date."', adr_web='".
		 $site."', id_cat=".$num_cat.", id_media=".$num_media." where id_doc=".$id_doc.";";
	$ret = mysql_query ($sql) or die (mysql_error ());
	echo "<SCRIPT LANGUAGE=JavaScript>";
	echo "alert('Opération réussi, informations modifiées !')";
	echo "</SCRIPT>";
Merci pour ton aide koopajah .
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h07   #9
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut mauvais forums alors

Citation:
Envoyé par QuenTinO
j'aimerais bien utiliser la fonction exit() mais là, on est dans du code javascript ...
Donc vous auriez dû poster ce message dans le forum Javascript. En tout cas, je pense que si Koopajah a bien compris votre demande, alors il vous a apporté la réponse. Si c'est le cas, merci de mettre le tag résolu.

Bon courage à vous.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h10   #10
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Je n'ai malheureusement pas encore réussi a régler ce probléme ...
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h12   #11
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Je pense que tu n'as pas du tout compris mon explication. Là ton code PHP qui va sortir le javascript pour la confirmation, il fait aussi la mise a jour dans la base. Donc ca ne marchera pas. Ton problème est un problème de Javascript, il faut que définisses un évènement dans ton bouton "modifier" qui dit "quand l'utilisateur clique dessus, alors je demande confirmation, si c'est bon je valide le formulaire, sinon j'annule". tout se passe dans le code "onclick" qui correspond a ton bouton, et pas du tout dans le script PHP distant.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h13   #12
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut Ajax

Tu peux le faire avec AJAX.

Lorsque l'utilisateur valide le formulaire, la boite de dialogue s'ouvre en proposant 'Confirmer' et 'Annuler' et l'utilisateur fait son choix (si j'ai bien compris). Dans ce cas, s'il clique sur 'Confirmer', tu crée une fonction qui appelle, via AJAX le script PHP qui va exécuter la requête. S'il clique sur 'Annuler' tu crées une autre fonction qui va effectuer l'action qui est nécessaire.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h16   #13
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Ok merci bcp pour votre aide. C'est possible d'appeler une fonction php via du javascript ?
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h18   #14
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par QuenTinO
Ok merci bcp pour votre aide. C'est possible d'appeler une fonction php via du javascript ?

Ce qui se passe dans ton code, si j'ai bien compris, c'est que pour modifier tu cliques sur un bouton qui soumet un formulaire. Non?
Si oui, il faut que "AVANT de soumettre" tu vérifies que tu veux bien soumettre, d'où l'évènement onclick.
Maintenant il faut que tu postes un message dans le forum javascript qui demandera comment demander confirmation avant de soumettre un formulaire par un bouton
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h24   #15
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Oui c'est ca, lorqu'on clique sur 'Modifier' je fais appel a un formulaire <form method=post action=#> qui lui méme fais appel a une fonction dans modifFic.php :
if($_POST['bouton']=='Modifier'){
modifFic(4,$id_doc);
}
Mais je n'est pas d'événement OnClick.
Je vais essayer de voir dans le forum Javascript.
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h27   #16
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par QuenTinO
Oui c'est ca, lorqu'on clique sur 'Modifier' je fais appel a un formulaire <form method=post action=#> qui lui méme fais appel a une fonction dans modifFic.php :
if($_POST['bouton']=='Modifier'){
modifFic(4,$id_doc);
}
Mais je n'est pas d'événement OnClick.
Je vais essayer de voir dans le forum Javascript.
mais voila, il n'y a aucune raison, coté client d'utiliser une fonction php qui va afficher du javascript de confirmation. Il faut que tu fasses cette confirmation directement dans le formulaire.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 11h20   #17
Invité de passage
 
Étudiant
Inscription : avril 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 33
Points : 3
Points : 3
Bon c ok probléme résolu concernant la confirmation sur le forum javascript mais un truk ke je ne comprend pas dutou :
Dans l'URL de mon formulaire <form action =...> je ne recupére pas le $id_doc ... alors ke si je l'affiche avant et apres ya bien qqchose dedans. BizzaRRre

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
session_start();
$id_doc=$_GET['id'];
echo $id_doc;
include ("connexion.php");
include("modifFic.php");
//$page="updateMedia.php?id=".$_GET['id'];
$mess="return window.confirm('Etes-vous sûr ?');";
echo "<form method=post action='updateMedia.php?id=".$id_doc."' onsubmit='".$mess."'>";
echo "-------".$id_doc;
if($_POST['bouton']=='Modifier'){
	modifFic(4,$id_doc);
}
QuenTinO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h49.


 
 
 
 
Partenaires

Hébergement Web