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 :

Aucun echo sur mon formulaire sous IE [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut Aucun echo sur mon formulaire sous IE
    Bonjour,

    Sur un site en construction, je souhaite installer un formulaire doté d’un input texte pour vérifier la disponibilité d’un nom dans une BDD (genre vérifier un nom de domaine, par exemple), bref ! Rien d’anormale.
    Je rencontre un phénomène étrange… :
    Lorsque j’ouvre le formulaire sous (IE) pour la première fois et que je rentre un nom pour tester son existence et bien je n'ai aucun echo...
    Par contre, n’ayant pas fermé ma page, je recommence et là ! Ça fonctionne….
    Je ferme IE et je recommence, ça ne fonctionne pas… je réessaye dans la foulée et là…ça fonctionne…

    S’agit-il d’un problème connu ?
    Dois-je instancier, ouvrir une session…que sais-je ?
    En général lorsque l’on click sur un bouton on aime avoir le résultat du premier coup !
    Voici le code complet :

    Code en haut de ma page php
    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
     
    <?php
     
    $form_valider="bouton_valider";
    // traitement du formulaire 
    if (isset($_POST["bouton_valider"]))
    { 
    // le formulaire a ete soumis 
            $etat = "erreur"; 
    // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur 
    // --- mise en forme du champ saisis dans le formulaire lors de sa soumission --- 
     
    		if (isset($_POST["nom_url"])) { 
                     $_POST["nom_url"]=trim(addslashes($_POST["nom_url"])); 
            }    
     
    // --- test de la validité des champs saisis --- 
     
            elseif (empty($_POST["nom_url"])) { 
    // le nom n'est pas saisi 
                     $erreur="Pour tester, il faut noter un nom..."; 
            }
       elseif(preg_match('@[^a-zA-Z0-9_\-]@i',$_POST['nom_url']))     
     		{ 
    // le nom n'est pas valide 
                   $erreur="Votre nom a des caract&egrave;res non autoris&eacute;s, aucun espace...";             
          }
     
     else{
       $etat="ok"; 
       }
    }   
    else { 
    // --- le formulaire n'a pas ete soumis --- 
               $etat="attente"; 
    } 
    // === fin de traitement des donnees du formulaire ======================================================= 
    ?>
    Code du côté de la page html

    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
     
    <div id="img_surligne" style="padding-left:30px">
      <?php 
    	//resultat de la recherche url
    // message d erreur formulaire  
     
    if 
     
    ($etat!="ok")
    {// le formulaire n'a pas ete soumis, ou soumis avec une erreur 
             if ($etat=="erreur"){ 
    //le formulaire a ete soumis avec une erreur 
                             echo "<p style='color:red'><strong>".$erreur."</strong></p>\n"; 
     
             } 
     
    } 
    else 
    {
     
    // le formulaire a ete soumis sans erreur, on traite la base de donnee
    $nom_url = $_POST['nom_url'];	
    $requete="SELECT COUNT(url) FROM table_utilisateur WHERE url='".$nom_url."'";						
    $result=$idcom->query($requete);
    if(!$result){
    	$mes_erreur=$idcom->errorInfo();
    	echo "Lecture impossible, code", $idcom->errorCode(),$mes_erreur[2];}
    else{
    	$nbart=$result->rowCount();
    	$tabresult=$result->fetchAll(PDO::FETCH_ASSOC);
    	$titres=array_keys($tabresult[0]);
    	foreach($titres as $nomcol){}
    	for($i=0;$i<$nbart;$i++){
    		foreach($tabresult[$i] as $valeur)
     {
     
    if($valeur >= 0 && $valeur < 1) {
     
    echo '<p>Ce nom est disponible</p>';    
    } else {     
    echo '<p style="color:red"><strong>Ce nom n&acute;est pas disponible.</strong></p>';     
    }		}}}		
     
    }
    ?>
    </div>
    Le code du formulaire
    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
     
    				<!--Début div cache-->
    <div id="contenu1">
     
    <article style="text-align:center">
    <fieldset><br><form name="url" method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
    <input title="Noter le nom que vous désirez voir apparaître" type="text" name="nom_url" value="<?php if(isset($_POST["nom_url"])){
     $nom_url = $_POST['nom_url'];
     $nom_url = htmlspecialchars($nom_url);
     $nom_url = stripslashes($nom_url);}
    ?>" size="30" maxlength="40"/>
    <input alt="" style="cursor:pointer; background-color:#FF9900" name="bouton_valider" type="submit" value="vérifier la disponibilité"/>
    </form></fieldset>
    </article>
    </div>   
    <!--Fin div cache -->
     
    			</div>
    D’avance merci….
    Bien cordialement.
    Bruno

  2. #2
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Je suis désolé mais ton code n'est pas très clair, on ne voit pas le lien entre tes différentes pages. Il y aurait plusieurs choses à corriger mais ce n'est pas ta question.

    Sinon sur le principe c'est aussi simple que ça :

    Page HTML :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="POST" action="enregistrer.php">
    	<input type="text" name="url">
    	<input type="submit" name="envoie">
    </form>

    Page enregistrer.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $url=$_POST['url'];
    $requete="SELECT url FROM table_utilisateur WHERE url=LIKE'%".$url."%'";					
    $result=$idcom->query($requete);
    $nbart=$result->rowCount();
    if($nbart>0){
    	echo 'Il existe déjà une URL';die();
    }
    "Beatus qui prodest quibus potest"

  3. #3
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Bonjour,

    Effectivement je n'avais pas ajouter l'ensemble du code, il peut paraître étrange....
    Bon, j'ai trouvé d'où venait l'erreur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     /* Si le formulaire n'est pas posté du site on renvoie
    * vers la page d'accueil */
     
    if($_SERVER['HTTP_REFERER'] != 'http://www.adressesite.fr/index.php')
    {
     
     
    header('Location: http://www.adressesite.fr/index.php');
    }  
      elseif (empty($_POST["nom_url"])) { //etc
    J'ai enlevé cette portion de code et miracle, ça fonctionne....

    Merci de ton aide...

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

Discussions similaires

  1. [AC-2003] Question sur mon formulaire et son sous-formulaire
    Par marjoriesp76 dans le forum IHM
    Réponses: 1
    Dernier message: 02/10/2009, 09h16
  2. Réponses: 1
    Dernier message: 14/09/2006, 10h53
  3. Question sur mon formulaire de contact
    Par Analfabete dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2006, 18h12
  4. Probleme de port usb sur mon portable sous debian
    Par ToMs dans le forum Matériel
    Réponses: 1
    Dernier message: 05/04/2006, 23h09
  5. la date et heure sur mon formulaire
    Par azde7015 dans le forum Access
    Réponses: 11
    Dernier message: 07/02/2006, 10h40

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