IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Pb ouverture URL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut [PHP-JS] Pb ouverture URL
    Salut !

    Voilà j'ai un formulaire situé à l'adresse http://127.0.0.1/Guide_FP/test.php?a...jout_categorie
    Ce formulaire sert à ajouter une catégorie dans une base de données (lapalissade !). Quand je clique sur le bouton Ajouter situé dans ce formulaire, si le champ "nom_new_categorie_FR" n'est pas renseigné, j'affiche une boîte alert Javascript qui dit que ce champ doit être rempli pour pouvoir faire l'ajout. Ce que je n'arrive pas à faire, c'est réouvrir mon formulaire après que l'utilisateur ait cliqué sur le bouton OK de la boîte de dialogue. Voilà le morceau de code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    if ($_REQUEST['action']=='ajout_categorie') :
    /***   Affichage du formulaire d'ajout d'une catégorie   ***/
         echo "<html>\n<body>\n<center>\n\t<form name=\"ajout_cat\" method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n";
         echo "\t\t<input type=\"hidden\" name=\"action\" value=\"add_cat\">\n";
         echo "\t\t<table width=40% border=1 cellspacing=1 cellpadding=8>
    <tr>
         <td colspan=2>Nouvelle catégorie</td>
    </tr>
    <tr>
         <td></td>
         <td>Saisissez le nom de la nouvelle catégorie :</td>
    </tr>
    <tr>
         <td>Nouvelle catégorie (Français)</td>
         <td><input type=\"text\" name=\"nom_new_categorie_FR\" size=\"50\"></td>
    </tr>
    <tr>
         <td>Nouvelle catégorie (Anglais)</td>
         <td><input type=\"text\" name=\"nom_new_categorie_UK\" size=\"50\"></td>
    </tr>
    <tr>
         <td></td>
         <td align=right>
              <input type=\"submit\" name=\"B_Ajouter_cat\" value=\"Ajouter\">
              <input type=\"button\" name=\"B_Annuler\" value=\"Annuler\" onclick=\"document.location.href='".$_SERVER['PHP_SELF']."'\"></td>
    </tr>\n";
    echo "\t\t</table>\n\t</form>\n</center>";
    endif;
     
    if ($_REQUEST["action"]=='add_cat') :
         if (empty($_REQUEST['nom_new_categorie_FR'])) :
              if (empty($_REQUEST["nom_new_categorie_UK"])) :
    	echo "<SCRIPT language=\"Javascript\">
    		<!--
    		alert ('Vous n'avez saisi aucune modification !');
    		// -->
    	            </SCRIPT>";
              else :			
    	echo "<SCRIPT language=\"Javascript\">
    		<!--
    		alert ('La saisie du nom français de la nouvelle catégorie est obligatoire !');
    		// -->
    		</SCRIPT>";
    	fopen("http://127.0.0.1/Guide_FP/test.php?action=ajout_categorie","r");
              endif;
    endif;
    endif;

    Même si je change l'action du formulaire en action=\"".$_SERVER['PHP_SELF']."?action=ajout_categorie\", ça continue de m'afficher une page blanche après la boîte de dialogue. Pourtant, l'URL dans la barre d'adresse est bonne.

    Bon comme je vous l'ai dit, c'est un bout de code. Le code complet est beaucoup trop long pour être posté ici. J'espère n'avoir rien oublié. Merci à tous ceux qui me répondront.

  2. #2
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Salut,
    Ton code est un peu bizarre : on dirait un mélange entre PHP et VB...

    Es-tu sûr de ta syntaxe?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut
    Ma foi je débute en programmation. Je n'ai pas de parse error si c'est ce que tu veux savoir. De là à dire que c'est la façon propre de faire ce que je veux, il y a un fossé ...

  4. #4
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    En fait, moi j'ai des parse errors quand j'utilise ton code...

    La syntaxe des if est étrange... on utilise généralement celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($_REQUEST['action']=='ajout_categorie'){
    //instructions
    }
    Et on ne met pas non plus de endif (en tout cas je ne l'ai jamais vu...)

    Pour ton problème, il faudrait que tu mettes ton code PHP (pour le traitement du formulaire) en haut de page et en dessous ton code HTML avec dans ta balise <form> ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="form" action="" method="POST">
    Ainsi, la page sera rechargée à chaque envoi du formulaire, donc le clic sur OK fonctionnera

    Essaie de revoir tes structures conditionnelles car je pense qu'elles ne conviennent pas (tu les as trouvées où?)

  5. #5
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    exemple avec ton code :
    Tu mets d'abord le code qui va traiter ton formulaire et en dessous tu mets ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    <?php if ($_REQUEST['action']=='ajout_categorie'){ ?>
    <html>
    <body>
    <center>
    <form name="ajout_cat" method="POST" action="">
         <input type="hidden" name="action" value="add_cat">
        <table width=40% border=1 cellspacing=1 cellpadding=8>
    <tr>
         <td colspan=2>Nouvelle catégorie</td>
    </tr>
    <tr>
         <td></td>
         <td>Saisissez le nom de la nouvelle catégorie :</td>
    </tr>
    <tr>
         <td>Nouvelle catégorie (Français)</td>
         <td><input type="text" name="nom_new_categorie_FR" size="50"></td>
    </tr>
    <tr>
         <td>Nouvelle catégorie (Anglais)</td>
         <td><input type="text" name="nom_new_categorie_UK" size="50"></td>
    </tr>
    <tr>
         <td></td>
         <td align=right>
              <input type="submit" name="B_Ajouter_cat" value="Ajouter">
              <input type="reset" name="B_Annuler" value="Annuler" onclick="document.location.href='index.php'"></td>
    </tr>
    </table>
    </form>
    </center>
    <?php } ?>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Par défaut
    Pour les structures (conditionnelles ou itératives), je me suis heurtée à des problèmes dès que j'utilisais des boucles imbriquées. Par exemple, 2 boucles While imbriquées ne fonctionnaient pas mais avec des For c'était bon. Je me suis aussi aperçue que je n'arrivais pas à en faire si j'utilisais la syntaxe avec {} et que ça tournait avec les End.
    Moi aussi je trouve ça très bizarre mais je ne sais résoudre ce problème qu'en utilisant les End. Le pourquoi du comment ? Aucune idée...
    Je vais tester tes solutions en espérant que ça fonctionnera. Je posterai pour te tenir au courant. Merci beaucoup d'avoir répondu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Comparaison un URL avec une chaîne de caractères
    Par moustique95 dans le forum Langage
    Réponses: 5
    Dernier message: 06/08/2008, 10h05
  2. [PHP-JS] Comportement des urls
    Par Dark_Yoshi dans le forum Langage
    Réponses: 2
    Dernier message: 20/09/2007, 18h54
  3. [PHP-JS] Récupérer une URL
    Par LhIaScZkTer dans le forum Langage
    Réponses: 4
    Dernier message: 04/09/2007, 23h32
  4. [PHP][XSLT] Encodage balise url
    Par thibaut06 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/02/2006, 17h46
  5. [PHP-JS] afficher l'URL de la page appelante - Episode 2
    Par guillaumeIOB dans le forum Langage
    Réponses: 8
    Dernier message: 09/12/2005, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo