Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/06/2006, 11h18   #1
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
Par défaut [PHP-JS] Confirm Javascript + Modif donné PHP/MySQL !!

Hi all !

J'ai fais une liste d'user où sur chaque user g possibilité de modifier ses infos où de le supprimer de la base de donné.
Le problème vient au niveau de la suppression, c'est à dire que lorsque je clique sur supprimer avecl'url :
Code :
<a href='g_user.php?action=suppr&amp;id_user=".$list_user['id_user']."'> Supprimer </a>
Donc quand l'action est 'suppr' j'ai ce code :

Code :
1
2
3
4
5
6
7
	if($_GET['action'] == 'suppr'){
		echo "<script language='Javascript'>";
		echo"<!--\n";
		echo"Confirmer();";
		echo"document.location = 'index.php';";
		echo"//-->";
		echo"</script>\n";
la fonction confirmer est juste un petit test javascript :
Code :
1
2
3
4
5
6
7
8
9
<!--
	function Confirmer(){
		if (confirm('Je vais dire sur quel bouton vous avez appuyé : ')){
			alert(' Vous avez cliqué sur OK \n Continuez avec :') 
		} 
    else{
		alert(' Vous avez cliqué sur Annuler \n Sortez avec Ok !') 
		};
	};
Donc tout cela fonctionne, mais (parce que oui ya un mais) je voudrai pouvoir modifier mes donné sur la base de donnée en passant par des requêtes etc.. SI l'on clique sur le "OK" du confirm() ET que l'on revienne a la liste si l'on clique sur le "Annuler" du confirm(). Donc mon problème est de savoir comment je peux structurer et insérer ma requête SQL apres la confirmation en javascript.

Merci pour vos réponses
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 13h58   #2
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
personne pour me répondre ?!
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 14h04   #3
Amara
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 689
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 689
Points : 2 910
Points : 2 910
Perso j'ai absolument rien compris au problème
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 15h19   #4
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
mdr JWhite J'adore tes réponse

En plus simple, j'ai un tableau avec le nom d'utilisateur du site, a chaque ligne correspondant à un utilisateur, j'ai un lien " supprimer".

En cliquant dessus, Je voudrais avoir une demande de confirmation ( en javascript, soit confirm('Etes vous sûr')) et selon la réponse du confirme je voudrai SI OUI supprimer l'utilisateur de la base de donné MySQL et SI NON revenir au tableau.

Et c'est pour ça que je voudrais savoir comment je peux insérer ma requête PHP/MySQL avec le confirm en Javascript ?
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 15h29   #5
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Moi je verrai bien un code comme ceci :
1 -> tu généres grace au php ceci :
Code :
 <a href=\"javascript:Confirmer('".$list_user['id_user']."')\"> Supprimer </a>
2 -> ton code js devient alors :
Code :
1
2
3
4
5
6
7
8
9
 function Confirmer(user_id){
        if (confirm('Je vais dire sur quel bouton vous avez appuyé : ')){
            alert(' Vous avez cliqué sur OK \n Continuez avec :') ;
                        document.location=
'g_user.php?action=suppr&amp;id_user='+user_id;        } 
    else{
        alert(' Vous avez cliqué sur Annuler \n Sortez avec Ok !') 
        };
    };
Et là tu testes si c'est la page de suppression et tu fais ton traitement...
C'est une idée, je sais pas si c'est ce que tu veux
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 16h22   #6
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
Si g bien compris ton code fait passer les infos par une redirection dans le code Js ?

Et après la redirection j'insere un truc du style :

Code :
1
2
3
4
 
if($_GET['action'] == 'suppr'){
   $req="DELETE ...."
   ...
c'est ca ?

Je vais testé
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 16h42   #7
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Exact, tu ne fais que le changement d'url que si tu as la réponse ok et par la même occasion ca évite de relancer la page juste pour un OK
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h05   #8
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
Bon alors ce que j'ai mis ne fonctionne pas, voila ce que j'ai fait :

Code :
1
2
 
<td><a href=\"javascript:Supprimer('".$list_user['id_user']."')\"> Supprimer </a></td>
J'ai placé la fonction Js entre les balise <head></head>, soit :
Code :
1
2
3
4
5
6
7
8
	function Supprimer(id_user){
        if (confirm('Êtes-vous sûr de vouloir supprimer cette utilisateur ? ')){
            document.location='g_user.php?action=suppr&amp;id_user=$list_user['id_user']';
			}
		else{
			alert(' Vous avez cliqué sur Annuler \n Sortez avec Ok !'); 
			};
    };
il ya peut être une erreur sur la redirection
et puis pour la page de suppression g juste mis une alerte.

Donc quand on passe sur le lien dans le tableau, il y a bien la fonction qui apparait dans la fenêtre en bas avec l'id_user mais rien ne se passe quand on clique dessus.
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h10   #9
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Elle est là l'erreur :
Code :
 document.location='g_user.php?action=suppr&amp;id_user=$list_user['id_user']';
Regardes le code que j'ai fournis plus haut.
Ton $list_user n'est pas correct. (le copier collé n'est pas très efficace )
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h10   #10
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
ça fonctionne !

en fet c t la redirection dans la fonction au niveau de l'id_user, fallait mettre :
Code :
            document.location='g_user.php?action=suppr&amp;id_user=$id_user';
Maintenant j'arrive bien a ma page de suppression

Merci merci
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h18   #11
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Moi je verrais plutot ca :
Code :
 document.location='g_user.php?action=suppr&amp;id_user='+id_user
Mais si ca fonctionne
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h24   #12
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
euh encore un souci dans ma page de suppression je récupère bien l'id_user par $_GET['id_user'] ? sachant que l'url est :

Code :
document.location='g_user.php?action=suppr&amp;id_user=$id_user';
j'ai essayé de faire un echo
Code :
1
2
		$user=$_GET['id_user'];
		echo "<p>$user</p>";
et j'ai tjr l'erreur :

Code :
Notice: Undefined index: id_user in c:\program files\easyphp1-8\www\test\g_user.php on line 111
A votre avis d'ou ca peut venir ? la synthaxe est pas bonne ?
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h31   #13
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Alors remplace ton url par ceci :
Code :
 document.location='g_user.php?action=suppr&amp;id_user='+id_user
Puis, mets ton url recu après la confirmation afin que l'on sache si elle part bien
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 17h59   #14
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
Le problème est que les balises <head></head> ou se trouve la fonction sont placé dans un autre fichier appelé top.php. Et l'url a tjr été après la confirmation , si tu veu j'ai un truc du type :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
if(isset($_GET['action'])){
    if(action== modif){
    ....}
    if(action==suppr){
    ....}
}else{
    echo" <table>
      <tr><td><a href="g_user?action=modif&amp;id_user= etc.>Modif</a></td>
<td><a href="g_user?action=suppr&amp;id_user= etc.>Modif</a></td></tr>
    </table>";
}
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2006, 18h13   #15
Kerod
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 706
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 706
Points : 18 221
Points : 18 221
Pourquoi tu mets pas la fonction hors head ?
Ca serait beaucoup plus simple et pas de problème en plus je pense
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 10h14   #16
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
J'ai essayé Hors head. Mais là quand on clik sur Supprimer, rien ne se passe
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 10h32   #17
Petibidon
Membre chevronné
 
Inscription : mars 2005
Messages : 588
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 588
Points : 659
Points : 659
Hello,

je te propose un plan B, plus simple, mais qui fera peut etre pas exactement ce que tu souhaite... enfin à toi de voir ( je dois avouer que j'ai lu le fil en travers )

donc en fait l'objectif est si j'ai bien capté de demander une confirmation avant d'effectuer une action. Dans ton script, tu envoie de la page 1 vers la page 2 qui elle demande confirmation. Tu t'emm*** pour pas grand chose en fait (enfin a mon avis hein !).

la solution que je te propose est de demander plutot une confirmation avant de suivre le lien vers la page 2.

donc ton lien devient

Code :
1
2
 
<a href="supprimer.php?param=bidule" onclick="return confirm('est tu sur, petit scarabée ?')">Supprimer bidule</a>
si l'utilisateur appuie sur ok, pas de probleme, le lien est suivi et donc ta page de suppression est appelée, sinon l'action du clic est annulée et l'utilisateur reste sur la page.
Petibidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 10h46   #18
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
Bah en fet je connaissais cette solution mais ca fonctionnait pas
donc j'ai essayé une autre solution, mais je vais tout de meme réessayé
Je fais trop de chose a la fois, ca me tuera
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 11h18   #19
mLk92
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 526
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 526
Points : 252
Points : 252
bon un petit souciche

j'ai testé avec un lien et le onclick dedans soit :

Code :
1
2
3
4
5
6
7
8
9
	echo"
				<tr>
					<td class='col1'>".$list_user['login']."</td>
					<td>".$list_user['password']."</td>
					<td>".$list_user['mail']."</td>
					<td>".$list_user['statut']."</td>
					<td><a href='g_user.php?action=modif&amp;id_user=".$list_user['id_user']."'> Modifier infos </a></td>
					<td><a href='g_user.php?action=suppr&amp;id_user=".$list_user['id_user']."' onclick='return confirm('Etes vous sûre de vouloir supprimer cet utilisateur ?');'> Supprimer </a></td>
				</tr>";
Le lien s'effectue correctement et je récupere bien l'id_user, mais aucune demande de confirmation, rien, niet, kedal
__________________
Citation:
" Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 11h55   #20
Petibidon
Membre chevronné
 
Inscription : mars 2005
Messages : 588
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 588
Points : 659
Points : 659
Tssss...

regarde la forme de ton lien au final...

onclick='truc'bidule'machin'

comment veux tu que ton navigateur s'y retrouve entre toutes ces apostrophes ?

en HTML, la politesse veut qu'on préfere les guillemets aux apostrophes pour les attributs des tags. Ton probleme vient de là.
Petibidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web