Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 21
  1. #1
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    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
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  2. #2
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    personne pour me répondre ?!
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  3. #3
    Expert Confirmé
    Avatar de Amara
    Profil pro
    Inscrit en
    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 777
    Points
    2 777

    Par défaut

    Perso j'ai absolument rien compris au problème

  4. #4
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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 ?
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  5. #5
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    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

  6. #6
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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é
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  7. #7
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    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

  8. #8
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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.
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  9. #9
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    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 )

  10. #10
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    ç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
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  11. #11
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    Moi je verrais plutot ca :
    Code :
     document.location='g_user.php?action=suppr&amp;id_user='+id_user
    Mais si ca fonctionne

  12. #12
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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 ?
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  13. #13
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    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

  14. #14
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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>";
    }
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  15. #15
    Inactif
    Avatar de Kerod
    Inscrit en
    septembre 2004
    Messages
    11 680
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 11 680
    Points : 18 119
    Points
    18 119

    Par défaut

    Pourquoi tu mets pas la fonction hors head ?
    Ca serait beaucoup plus simple et pas de problème en plus je pense

  16. #16
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    J'ai essayé Hors head. Mais là quand on clik sur Supprimer, rien ne se passe
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  17. #17
    Membre chevronné
    Inscrit en
    mars 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 617
    Points : 712
    Points
    712

    Par défaut

    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.

  18. #18
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  19. #19
    Membre confirmé Avatar de mLk92
    Inscrit en
    mars 2006
    Messages
    527
    Détails du profil
    Informations forums :
    Inscription : mars 2006
    Messages : 527
    Points : 252
    Points
    252

    Par défaut

    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
    " Can't take your slogans no more, no more sweet talk from the hypocrits " by Robert Nesta Marley

  20. #20
    Membre chevronné
    Inscrit en
    mars 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 617
    Points : 712
    Points
    712

    Par défaut

    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à.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •