Affichage de code php dans des zones de texte

the_reader -  
 the_reader -
Bonjour,

je suis entrain de concevoir un site web et dans la partie connexion des visiteurs possédant déjà un compte, le code php suivant s'affiche :
<?php if (isset($_POST['pseudo'])) print htmlentities(trim($_POST['pseudo'])); ?>" ><br />
Je l'ai envoyé à la fonction echo mais ça m'affiche toujours la même chose.

Help please!!

14 réponses

  1. T-SonS Messages postés 307 Statut Membre 50
     
    Hello,

    ton php n'est pas refermé?
    1
  2. the_reader
     
    Si. En fait, j'ai oublié de préciser que je l'ai mis dans un <input value="">.
    Merci
    0
    1. the_reader
       
      Désolé
      mais ça marche toujours pas même en fermant le input et le php!!
      Si quelqu'un peut m'aider...
      0
  3. Utilisateur anonyme
     
    Bonjour

    Peux-tu nous montrer le code complet de la page (s'il n'est pas trop long, et en cachant tes mots de passe s'il y a lieu) ? Ou au moins les quelques lignes avant la partie qui s'affiche ?

    Ton fichier a-t-il bien une extension en .php ?

    Travailles-tu en local ou en ligne ? Et si c'est en local, appelles-tu bien ta page avec une arl du type http://localhost/qqchose ou http://127.0.0.1/qqchose, ou te contentes-tu de double-cliquer sur le nom du fichier ?
    0
  4. the_reader
     
    Bonjour,

    la page a l'extension .php et voici le code complet :

    <?php

    // je vérifie que le visiteur a rempli le formulaire de connexion de la page inscription.html
    if (isset($_POST['valider'])&& $_POST['valider'] == 'OK'){
    //si pseudo et passwd existent et les variables qui les désignent ne sont pas vides
    if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['passwd']) && !empty($_POST['passwd']))) {

    //j'inclus les fonctions que j'ai déjà écrites
    include('fonctions.php');

    //je me connecte à ma base
    connectMaBase();

    // je teste si la table client_cli de la base contient le pseudo et le mot de passe entrés
    //La fonction mysql_escape_string va protéger tous les caractères de la chaîne $_POST['pseudo'] et va retourner la valeur protégée
    // afin de pouvoir l'utiliser directement dans une requête mysql_query().
    //je dénombre les clients ayant le pseudo et le mot de passe saisis par le visiteur
    $sql = 'SELECT count(*) FROM client_cli WHERE cli_pseudo="'.mysql_escape_string($_POST['pseudo'])./*là je crypte le mot de passe et il faut en générer un nouveau en cas de perte que je renverrai par email au détenteur du compte.*/'" AND cli_passwd="'.md5(mysql_escape_string($_POST['passwd'])).'"';

    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    $data = mysql_fetch_array($req);

    //je libère la variable contenant la requête sql
    mysql_free_result($req);

    //je me déconnecte de la base
    mysql_close();

    // si on obtient une réponse, alors l'utilisateur est un membre
    //on peut donc lui ouvrir une session, si les données qu'il a fournies sont conformes à celles se trouvant dans la table
    if ($data[0] == 1) {
    session_start();

    //Toutes les variables que j'avais utilisées avant, transmettent leur valeur aux variables de session.
    $_SESSION['pseudo'] = $_POST['pseudo'];
    header('Location: page_client.php');
    exit();
    }
    // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son pseudo, soit dans son mot de passe.
    elseif ($data[0] == 0) {
    $erreur = ' (Identifiant) Login ou mot de passe erroné! !<br /> Veuilez re-saisir votre pseudo et votre mot de passe s\'il vous plaît.';
    }
    // sinon, il y a un gros problème
    else {
    $erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    }
    }
    else {
    $erreur = 'Au moins un des champs (identifiant ou mot de passe) est vide.';
    }
    }
    ?>

    <html>

    <head>
    <title>Connexion à l'espace membre</title>
    <link rel="stylesheet" type="text/css" href="client.css" />
    </head>

    <body>
    <div id="head" >

    <form action="page_connexion.php" method="post">

    <span class="identifiant" align="right">
    Identifiant :
    <br/>
    <input type="text" name="pseudo" value="<?php if (isset($_POST['pseudo'])) print htmlentities(trim($_POST['pseudo'])); ?>" ><br />
    <p><p/>

    Mot de passe :
    <br/>
    <input type="password" name="passwd" value="<?php if (isset($_POST['passwd'])) echo htmlentities(trim($_POST['passwd'])); ?>" /><br />
    <p><p/>
    <input type="submit" name="valider" value="OK"/>
    <p>
    </p>
    </span>
    </form>

    </div>
    <div id="corps_principal">

    <!-- Panneau de gauche-->
    <div id="left_panel">
    <p>
    <ul>
    <li><a href="index.html" title="www.rouenspectacle.franceserv.com">Accueil</a></li>
    <br/>
    <li><a href="categorisation_spectacles.html" title="Tous les spectacles">Catégorisation des spectacles</a></li>
    <br/>
    <li><a href="description_spectacles.html" title="A propos des spectacles">Description des spectacles</li>
    <br/>
    <li><a href="inscription_client.html" title="Créez votre compte">Inscription </a></li>
    <br/>
    <li><a href="contact.html" title="Contactez-nous">Contactez-nous</a></li>
    <br/>
    </ul>
    </p>
    <p><img src="demaison.jpg" alt="Demaison" height="100%" width="100%" /></p>
    </div>

    <!-- Onglets-->
    <div id="menu_categorisation">
    <ul id="onglets">
    <li><a href=danse.html> Danse</a> </li>
    <li><a href=musique.html> Musique</a> </li>
    <li><a href=theatre.html> Théâtre</a> </li>
    </ul>
    </div>

    <!-- Texte central-->
    <div id="corps">

    <?php
    if (isset($erreur)) echo '<br /><br /><span class="erreur">'.$erreur.'<span>';

    ?>
    </div>

    </div>

    <p>
    </p>

    <!-- Bloc du bas-->
    <div id="bas"> bottom

    </div>

    </body>
    </html>
    //fin du code

    commentaires:
    Je travaille en local et j'utilise le logiciel easyphp.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Ça a l'air normal...

    peux-tu mettre au début du script echo "coucou"; à la ligne juste après <?php, pour s'assurer que le php est bien interprété ?
    0
  7. the_reader
     
    Je pense pas que le php est bien interprété parce que j'obtiens ça en retour:

    <?php echo 'coucou'; if (isset($_POST['pseudo'])) echo htmlentities(trim($_POST['pseudo'])); ?>
    0
    1. the_reader
       
      Désolé mais je vais vous décevoir.
      Le problème n'était rien d'autre que l'extension du fichier.
      Il y en avait deux : 1 html et 1 php. J'ai déplacé le .php et le code disparaît.
      Désolé pour tout.
      Merci à tous.
      0
  8. Utilisateur anonyme
     
    J'avais dit AU DEBUT du script, pas dans ton input.
    Remets-le bien au début (ligne 2 du script, juste après <?php

    Il n'y a rien d'autre d'anormal dans l'affichage ? Si le php n'est pas interpreté, tu devrais avoir aussi un tas de truc bizarres avant ton formulaire.

    Tu utilises easyphp, mais as-tu l'habitude ? easyphp est-il bien lancé et, surtout, appelles-tu bien ta page avec une url en localhost ou en 127.0.0.1, ou bien en double-cliquant sur le nom du fichier ?
    Merci de répondre à TOUTES les questions.
    0
  9. the_reader
     
    J'ai mis la commande echo au tout début du script mais le php n'est pas interprêté parce que je n'ai rien en retour. Il n'y a rien d'affiché quand je donne cette instruction.

    J'ai la dernière version de easyphp.
    J'appelle toutes mes pages avec l'url : http://127.0.0.1/rouenspectacle/
    Merci pour tes réponses
    0
  10. Utilisateur anonyme
     
    Vu l'url, le code que tu nous montres est bien celui de la page index.php ?
    0
  11. the_reader
     
    Effectivement.
    Mais j'ai vérifié l'existence d'un compte et d'un mot de passe dans une autre page php(page_connexion.php). J'ai affiché le code de cette page lors de ma réponse à "le père".
    0
  12. Utilisateur anonyme
     
    Ne mélangeons pas tout
    Ne parlons que d'une seule page à la fois, car quand tu dis des choses comme "le code de cette page", je ne sais absolument pas si tu parles de connexion.php ou d'index.php. ET je ne veux surtout pas le savoir pour l'instant.

    1 - Quand tu tapes l'url http://127.0.0.1/rouenspectacle/, c'est bien la page index.php qui s'ouvre ?
    2 - C'est bien dans cette page index.php que tu as mis, ligne 2 après <?php, un echo 'coucou'; qui ne produit pas d'affichage ?
    0
  13. the_reader
     
    1 - Oui c'est la page index.php qui s'ouvre.

    2 - C'est bien dans la page index que j'avais mis le code php. Mais, ce pourquoi le code n'a pas produit d'affichage, est que l'extension du fichier index était .html au lieu de .php, et je suis désolé pour cette erreur bête de ma part.
    J'ai donc enregistré le fichier .html, sous un format .php et j'ai déplacé le fichier .html dans un autre répertoire, tout laissant le fichier .php dans le répertoire "www".
    Encore désolé!!
    Merci
    0
  14. Utilisateur anonyme
     
    Est-ce que tout marche maintenant, ou vois-tu toujours du code dans un champ <input> ?
    0