Problème avec Confirm ( en rapport avec du php) [Résolu]

Signaler
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
-
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008
-
Bonjour à tous.
Tout d'abord, je tenais a m'excuser si mon sujet n'est pas au bon endroit, mais cela me semble l'endroit le plus approprié.


J'ai un problème concernant une boite de dialogue confirm.

Le but de ma page est que l'utilisateur puisse décider ou non si le
client saisi préalablement est le bon. En effet, Après avoir saisi mon
nom de client, les renseignements du clients s'affichent et ma boite de
dialogue apparaît. Si l'utilisateur clique sur OK, il est envoyé à la
page suivante, si il clique sur annuler, le nom du client suivant
apparaît et l'utilisateur doit à nouveau faire son choix.


Mais que je fasse OK ou annuler, il va m'afficher tout les clients à
chaque fois, ce doit être un problème de boucle mais je ne comprend pas
bien. De plus, je ne connais pas vraiment le javascript.

Voila mon code :

<?php
$fp = fopen("client.txt","r") ;
$compare=0;
   
while(!feof($fp) or ($compare==1))
{
   
    $buffer = fgets($fp);
    $ligne = explode(';',$buffer);
       
    if ($client==substr($ligne[1],0,strlen($client)))
    {
        echo $ligne[1]."
";
        echo $ligne[2]."
";
        echo $ligne[3]."
";
        echo $ligne[4]."
";
        echo $compare ;
               
        ?>
        <script language="JavaScript">       
        var rep=confirm("Est-ce le bon client ?")
        if (rep)
        {
            document.write ('[article.php Suite]');
        }
        </script>
        <?php
                       
    }   
}

    if ($compare==0)
    {   
        echo 'Le client n\'existe pas'."
";
        ?>[client.php Retour]<?php
    }   
?>       


Merci de votre aide !

11 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
plus du php que du javascript, mais bon
s'il faut aller plus loin ....

en mettant $client dans le mêm script pour le test :
<?php

$client= 'c';

$fp = fopen( "cli.txt" ,"r") ;
$compare =0;
  
while( !feof($fp) && $compare==0 )
{   $buffer = fgets($fp);
    $ligne = explode(';',$buffer);     
    if ($client==$ligne[1])
    {    echo $ligne[1]."
";
      echo $ligne[2]."
";
      echo $ligne[3]."
";
      echo $ligne[4]."
";
      $compare=1;
      ?>[article.php Confirmer]<?php
    }  
}
    if ($compare==0)
    {  
        echo 'Le client n\'existe pas'."
";
    }
   ?>[client.php Retour]<?php
     fclose($fp);
?>      

attention aussi, le test du client est fait par rapport à la 2ème zone ( $ligne[1] )
donc cli.txt du style :
1;;a;client 1;adresse 1;aaaaaaaa
2;c;client 3;adresse 3;cccccccc
26;z;client 26;adresse 26;zzzzzzzz

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
on ne peut pas mélanger du javascript dans du php.
le php se déroule sur le serveur. crée une page html/javascript et l'envoie vers le micro.
il se termine et disparait.
sur le micro, la page parvient ( 3 jours après en général ), et là le javascript se déroule.
là tel que tu fais, on va créer autant de confirm et de document.write
qu'il y a de clients.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008

Désolé mais j'ai pas tout compris !
T'entends quoi par envoyers vers le micro ?
La page parvient 3 jours après o_0 ?

Tu pourrais me donner un peu plus de détails^^ ?
Merci
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
tu exécutes ta "page.php",  c'est sur le seveur.
le php "se déroule", crée un texte "html et javascript"

dans ton cas
        ...
        "le contenu de $ligne[1]"
  "le contenu de $ligne[2]"
... " le contenu de $compare"
        <script language="JavaScript">       
        var rep=confirm("Est-ce le bon client ?")
        if (rep)
        {
            document.write ('[article.php Suite]');
        }
        </script>
        ...
et ce pour chaque client.          

il envoie ce texte vers le micro, où le navigateur l'affiche, l'interprète..
tu as donc, si tu as 27 clients, 27 fois ce qui est au dessus en couleur

affiche le code source de la page tu verras.
tu auras donc 27 confirm

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008

D'accord mais concrètement, je dois faire quoi pour résoudre mon problème ?
Désolé si j'ai du mal ^^
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
concrètement ? concevoir autrement.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008

Arf
Concevoir de quelle manière alors ?
Je ne connais pas vraiment d'autre méthodes...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
en fait.... j'ai probablement mal lu ton script
    et à vue de nez ça devrait le faire....
    ( mais "on n'a pas tout" ! )
ce php doit être appelé lorsque le choix de client est fait, est-ce le cas ?
    et retourner 1 ou éventuellement 2 liens l'un pour confirmer,
                                                             l'autre éventuellement pour infirmer,
   ( directement pas avec document.write
     echo '[article.php confirmer]'; )
il manque la fermeture du fichier en php.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008

Oui voila, la page va afficher le 1er client, le javascript va s'activer et si l'on fait ok, cela nous amène a la page suivante.
Sinon on affiche le client suivant.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
ch'tiot remarque néanmoins,

j'espère qu'il n' y a pas trop de clients,
parce que je ne sais pas si c'est une bonne idée de mettre ça
dans un fichier texte et de contrôler l'existence d'un client
dans l'ensemble des lignes.
une base de données serait probablement mieux.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
34
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
25 juin 2008

Merci pour ton aide, j'ai fait quelque chose de semblable.

Sinon je ne peux pas utiliser de base de donnée, je suis obligé de faire de cette manière.