Mon fichier php ne lit pas les code html

ice_handler Messages postés 34 Statut Membre -  
ice_handler Messages postés 34 Statut Membre -
Bonjour à tous,
je suis propriétaire d'un petit site internet pour moi et mes amis et j'ai pour projet de faire un tchat instantané. Pour arriver à cela je veux d'abord commencer par l'inscription des gens à mon site. Mais comme vous avez du le comprendre il y a un problème... Mon fichier que j'enregistre en .php ne lit aucun de mes code... quand je l'enregistre en .html sa fonctionne mais évidement sa ne lit pas le php donc le problème persiste.
Voila mon code ( je mets **** quand c'est privé ) :
<!DOCTYPE html>
<html>
 <head>
  <title>Ice Web / Inscription</title>
 </head>

 <body>
   <div align="center">
    <font color="blue" size="6">Inscription</font><br><br>

    <form method="POST" action"">
     <table>
      <tr><td><input type="text" name="pseudo" placeholder="Pseudo" value=" <?php if(isset($pseudo)) {echo $pseudo;} ?>"/></td></tr>
      <tr><td><input type="email" name="mail" placeholder="Mail" value=" <?php if(isset($mail)) {echo $mail;} ?>"/></td></tr>
      <tr><td><input type="email" name="mail2" placeholder="Confirm Mail" value="<?php if(isset($mail2)) {echo $mail2;} ?>"/></td></tr>
      <tr><td><input type="password" name="mdp" placeholder="Mot de Passe"/></td></tr>
      <tr><td><input type="password" name="mdp2" placeholder="Confirm Mot de Passe"/></td></tr>
      <tr><td align="center"><input type="submit" name="forminscription" value="Envoyer"/></td></tr>
     </table>
    </form>
   </div>
<?php
// Je me connect à ma base de donnée
$bdd = new PDO('mysql:host=sql19.hostinger.fr;dbname=*****', 'root' , '*****');

// Je commence le formulaire

if(isset($_POST['forminscription']))
{
 $pseudo = htmlspecialchars($_POST['pseudo'])
 $mail = htmlspecialchars($_POST['mail'])
 $mail2 = htmlspecialchars($_POST['mail2'])
 $mdp = htmlspecialchars($_POST['mdp'])
 $mdp2 = htmlspecialchars($_POST['mdp2'])

// Je dit que les case ne doivent pas être vide

  if (!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2']))
  { 
   // Je limite le pseudo à 30 caractères et le mail à 255 caractères
   $pseudolength = strlen($pseudo);
   $maillength = strlen($mail);
   if($pseudolength <= 30)
   {
    if($maillength <= 255)
    {
     // Je regarde si les mails correspondes 
     if($mail == $mail2)
     {
      // Je vérifie l'adresse mail
      if(filter_var($mail, FILTER_VALIDATE_EMAIL))
      {
       //Je regarde si les mot de passe sont identiques
       if($mdp == $mdp2)
       {
        $okcbon = "Votre compt a été créé !"
       }
       else
       {
        $erreur = "Vos mots de passes ne sont pas identiques !"
       }
      }
      else
      {
       $erreur = "Votre adresse mail n'est pas valide !"
      }

     }
     else
     {
      $erreur = "Vos adresses mails ne sont pas identiques !"
     }
    }
    else
    {
     $erreur = "Votre adresse mail ne doit pas dépasser 255 caractères !"
    }
   }
   else
   {
    $erreur = "Votre pseudo ne doit pas dépasser 30 caractères !"
   }
   
  }
  else
  {
   $erreur = "Vous n'avez pas remplis tous les champs !"
}
 
?>    
    <?php
    if (isset($erreur))
    {
     echo ='<font color="red">' . $erreur . '</font>' ;
    }
    ?>
    <?php
    if (isset($okcbon))
    {
     echo ='<font color="green">' . $okcbon . '</font>' ;
    }
    ?>
 </body>
</html>


Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

4 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Avec un "=" pour l'attribut action.. ça pourrait mieux marcher :-)

    <form method="POST" action="">
    


    Tu dois également terminer tes lignes de code php ... par des Points-virgules.
    par exemple
    if(isset($_POST['forminscription'])) {
     $pseudo = htmlspecialchars($_POST['pseudo']);
     $mail = htmlspecialchars($_POST['mail']);
     $mail2 = htmlspecialchars($_POST['mail2']);
     $mdp = htmlspecialchars($_POST['mdp']);
     $mdp2 = htmlspecialchars($_POST['mdp2']);
    
    //etc....
    

    0
    1. ice_handler Messages postés 34 Statut Membre
       
      Merci beaucoup j'ai fait les modifications mais sa ne marche toujours pas. Sa m'affiche une page blanche...
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > ice_handler Messages postés 34 Statut Membre
         
        Montres nous ton code modifié ainsi que ton formulaire html
        0
  2. ice_handler
     
    Désolé de ne pas avoir pus répondre avant mais j'ai changé de PC...
    Sinon voilà le code modifié ( qui ne marche toujours pas ). Pour plus de précision aucun code ne s'affiche même dans le code source... Bonne chance à celui qui tentera de m'aider.

    <!DOCTYPE html>
    <html>
     <head>
      <title>Ice Web / Inscription</title>
     </head>
    
     <body>
       <div align="center">
        <font color="blue" size="6">Inscription</font><br><br>
    
        <form method="POST" action="">
         <table>
          <tr><td><input type="text" name="pseudo" placeholder="Pseudo" value=" <?php if(isset($pseudo)) {echo $pseudo;} ?>"/></td></tr>
          <tr><td><input type="email" name="mail" placeholder="Mail" value=" <?php if(isset($mail)) {echo $mail;} ?>"/></td></tr>
          <tr><td><input type="email" name="mail2" placeholder="Confirm Mail" value="<?php if(isset($mail2)) {echo $mail2;} ?>"/></td></tr>
          <tr><td><input type="password" name="mdp" placeholder="Mot de Passe"/></td></tr>
          <tr><td><input type="password" name="mdp2" placeholder="Confirm Mot de Passe"/></td></tr>
          <tr><td align="center"><input type="submit" name="forminscription" value="Envoyer"/></td></tr>
         </table>
        </form>
       </div>
    <?php
    // Je me connect à ma base de donnée
    $bdd = new PDO('mysql:host=sql19.hostinger.fr;dbname=****', 'root' , '****');
    
    // Je commence le formulaire
    
    if(isset($_POST['forminscription']))
    {
     $pseudo = htmlspecialchars($_POST['pseudo']);
     $mail = htmlspecialchars($_POST['mail']);
     $mail2 = htmlspecialchars($_POST['mail2']);
     $mdp = htmlspecialchars($_POST['mdp']);
     $mdp2 = htmlspecialchars($_POST['mdp2']);
    
    // Je dit que les case ne doivent pas être vide
    
      if (!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2']))
      { 
       // Je limite le pseudo à 30 caractères et le mail à 255 caractères
       $pseudolength = strlen($pseudo);
       $maillength = strlen($mail);
       if($pseudolength <= 30)
       {
        if($maillength <= 255)
        {
         // Je regarde si les mails correspondes 
         if($mail == $mail2)
         {
          // Je vérifie l'adresse mail
          if(filter_var($mail, FILTER_VALIDATE_EMAIL))
          {
           //Je regarde si les mot de passe sont identiques
           if($mdp == $mdp2)
           {
            $okcbon = "Votre compt a été créé !"
           }
           else
           {
            $erreur = "Vos mots de passes ne sont pas identiques !"
           }
          }
          else
          {
           $erreur = "Votre adresse mail n'est pas valide !"
          }
    
         }
         else
         {
          $erreur = "Vos adresses mails ne sont pas identiques !"
         }
        }
        else
        {
         $erreur = "Votre adresse mail ne doit pas dépasser 255 caractères !"
        }
       }
       else
       {
        $erreur = "Votre pseudo ne doit pas dépasser 30 caractères !"
       }
       
      }
      else
      {
       $erreur = "Vous n'avez pas remplis tous les champs !"
    }
     
    ?>    
        <?php
        if (isset($erreur))
        {
         echo ='<font color="red">' . $erreur . '</font>' ;
        }
        ?>
        <?php
        if (isset($okcbon))
        {
         echo ='<font color="green">' . $okcbon . '</font>' ;
        }
        ?>
     </body>
    


    EDIT : AJOUT DES BALISES DE CODE
    Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
    Explications disponibles ici :
    https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
    </html>
    0
  3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
    Explications disponibles ici :
    https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

    2 - Tu avais oublié des points-virgules sur les plus part de tes lignes de code ..

    3 - Prend l'habitude de mettre le "traitement" php au début de ta page.. tu verras avec l'habitude que c'est plus simple à déboguer en cas de besoin.

    4 - On peut ajouter quelques instructions qui servent à voir les erreurs de script php.

    5- Enfin donc voila.. dis mois si ça te conviens :
    <?php
    // Affichage des erreurs PHP
    error_reporting(E_ALL & ~E_NOTICE);
    
    // Connexion à la BDD
    try{
     // Je me connect à ma base de donnée
     $bdd = new PDO('mysql:host=sql19.hostinger.fr;dbname=****', 'root' , '****');
    } catch (PDOException $e) {
        echo "<br>Echec lors de la connexion : " . $e->getMessage();
    }
    
    // Recupération des variables POST
     $pseudo = isset($_POST['pseudo'])? htmlspecialchars($_POST['pseudo']) :'';
     $mail = isset($_POST['mail'])? htmlspecialchars($_POST['mail']) :'';
     $mail2 = isset($_POST['mail2']) ? htmlspecialchars($_POST['mail2']) :'';
     $mdp = isset($_POST['mdp']) ? htmlspecialchars($_POST['mdp']) :'';
     $mdp2 = isset($_POST['mdp']) ? htmlspecialchars($_POST['mdp2']) :'';
    
    
    // Traitement du SUBMIT 
    if(isset($_POST['forminscription'])){
    
     // Je dit que les case ne doivent pas être vide
     if (!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])){ 
       // Je limite le pseudo à 30 caractères et le mail à 255 caractères
       $pseudolength = strlen($pseudo);
       $maillength = strlen($mail);
       if($pseudolength <= 30){
       if($maillength <= 255) {
         // Je regarde si les mails correspondes 
         if($mail == $mail2){
          // Je vérifie l'adresse mail
          if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
            //Je regarde si les mot de passe sont identiques
            if($mdp == $mdp2) {
            $okcbon = "Votre compte a été créé !";
            }else {
            $erreur = "Vos mots de passes ne sont pas identiques !";
            }
           }else{
            $erreur = "Votre adresse mail n'est pas valide !";
           }
          }else{
          $erreur = "Vos adresses mails ne sont pas identiques !";
          }
        }else{
         $erreur = "Votre adresse mail ne doit pas dépasser 255 caractères !";
        }
       } else {
       $erreur = "Votre pseudo ne doit pas dépasser 30 caractères !";
       }   
     } else {
      $erreur = "Vous n'avez pas remplis tous les champs !";
     }// fin du if (!empty($_POST['pseudo']) ...
    
    }//fin du IF $_POST['forminscription']
     
    ?>  
    <!DOCTYPE html>
    <html>
     <head>
      <title>Ice Web / Inscription</title>
     </head>
    
     <body>
       <div align="center">
        <font color="blue" size="6">Inscription</font><br><br>
    
        <form method="POST" action="">
         <table>
          <tr><td><input type="text" name="pseudo" placeholder="Pseudo" value=" <?php echo $pseudo; ?>"/></td></tr>
          <tr><td><input type="email" name="mail" placeholder="Mail" value=" <?php echo $mail; ?>"/></td></tr>
          <tr><td><input type="email" name="mail2" placeholder="Confirm Mail" value="<?php echo $mail2; ?>"/></td></tr>
          <tr><td><input type="password" name="mdp" placeholder="Mot de Passe"/></td></tr>
          <tr><td><input type="password" name="mdp2" placeholder="Confirm Mot de Passe"/></td></tr>
          <tr><td align="center"><input type="submit" name="forminscription" value="Envoyer"/></td></tr>
         </table>
        </form>
       </div>
      
        <?php
        if (isset($erreur)) {
         echo ='<font color="red">' . $erreur . '</font>' ;
        }
    
        if (isset($okcbon)) {
         echo ='<font color="green">' . $okcbon . '</font>' ;
        }
        ?>
     </body>
    


    Cordialement,
    Jordane
    0
    1. ice_handler Messages postés 34 Statut Membre
       
      Et bien c'est vraiment très gentil mais malheureusement toujours rien... Absolument rien. Même les messages d'erreur ne s'affiche pas. C'est comme si le code était vide. Mais quand je l'ouvre depuis le ftp il est remplis normalement... Je ne comprend pas. :(
      0
      1. Pierrecastor Messages postés 10830 Date d'inscription   Statut Modérateur Dernière intervention   4 215 > ice_handler Messages postés 34 Statut Membre
         
        Salut

        Ta page est bien hébergé sur un serveur avec un interpréteur php ?
        0
    2. ice_handler Messages postés 34 Statut Membre
       
      Et bien je suis avec hostinger et sur mon site j'ai déjà une page php qui fonction correctement.
      0
  4. ice_handler Messages postés 34 Statut Membre
     
    Salut j'ai essayé de tenter plusieurs code encore. Mais je ne comprend vraiment pas pourquoi ça ne marche pas. J'ai l'impression que le fichier php ne lit pas les codes html. Et quand je l'enregistre en .html tout le code php s'affiche sur la page. J'ai donc mis les code php entre des balise
    <script type="text/javascript"></script>
    et là le php ne s'affiche plus mais il ne marche pas.

    Je ne sais pas trop quel formulaire vous envoyer parsqu'il y en a vraiment plein. Je vous envois celui que j'enregistre en .php souvent.

    ________________________________________________________
    <!DOCTYPE html>
    <html>
    
     <head>
      <title>Ice Web / Inscription</title>
    <?php
    // Affichage des erreurs PHP
    error_reporting(E_ALL & ~E_NOTICE);
    
    // Connexion à la BDD
    try{
     // Je me connect à ma base de donnée
     $bdd = new PDO('mysql:host=sql19.hostinger.fr;dbname=*****', 'root' , '*****');
    } catch (PDOException $e) {
        echo "<br>Echec lors de la connexion : " . $e->getMessage();
    }
    
    // Recupération des variables POST
     $pseudo = htmlspecialchars($_POST['pseudo']) :'';
     $mail = htmlspecialchars($_POST['mail']) :'';
     $mail2 = htmlspecialchars($_POST['mail2']) :'';
     $mdp = htmlspecialchars($_POST['mdp']) :'';
     $mdp2 = htmlspecialchars($_POST['mdp2']) :'';
    
    
    // Traitement du SUBMIT 
    if(isset($_POST['forminscription'])){
    
     // Je dit que les case ne doivent pas être vide
     if (!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])){ 
       // Je limite le pseudo à 30 caractères et le mail à 255 caractères
       $pseudolength = strlen($pseudo);
       $maillength = strlen($mail);
       if($pseudolength <= 30){
       if($maillength <= 255) {
         // Je regarde si les mails correspondes 
         if($mail == $mail2){
          // Je vérifie l'adresse mail
          if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
            //Je regarde si les mot de passe sont identiques
            if($mdp == $mdp2) {
            $okcbon = "Votre compte a été créé !";
            }else {
            $erreur = "Vos mots de passes ne sont pas identiques !";
            }
           }else{
            $erreur = "Votre adresse mail n'est pas valide !";
           }
          }else{
          $erreur = "Vos adresses mails ne sont pas identiques !";
          }
        }else{
         $erreur = "Votre adresse mail ne doit pas dépasser 255 caractères !";
        }
       } else {
       $erreur = "Votre pseudo ne doit pas dépasser 30 caractères !";
       }   
     } else {
      $erreur = "Vous n'avez pas remplis tous les champs !";
     }// fin du if (!empty($_POST['pseudo']) ...
    
    }//fin du IF $_POST['forminscription']
     
    ?> 

     </head>
     <body>
    
      <div align="center">
       <font color="blue" size="6">Inscription</font><br><br>
        <form method="POST" action="">
         <table>
          <tr><td><input type="text" name="pseudo" placeholder="Pseudo"/></td></tr>
    
          <tr><td><input type="email" name="mail" placeholder="Mail"/></td></tr>
    
          <tr><td><input type="email" name="mail2" placeholder="Confirm Mail"/></td></tr>
    
          <tr><td><input type="password" name="mdp" placeholder="Mot de Passe"/></td></tr>
    
          <tr><td><input type="password" name="mdp2" placeholder="Confirm Mot de Passe"/></td></tr>
    
          <tr><td align="center"><input type="submit" name="forminscription" value="Envoyer"/></td></tr>
         </table>
        </form>
      </div>

    <?php
    
        if (isset($erreur))
    
        {
    
         echo ='<font color="red">' . $erreur . '</font>' ;
    
        }
    
        ?>
    
        <?php
    
        if (isset($okcbon))
    
        {
    
         echo ='<font color="green">' . $okcbon . '</font>' ;
    
        }
    
        ?>

     </body>
    
    </html> 

    ________________________________________________________

    Certain code ont été repris d'une idée de jordane45 (surtout pour le php ).
    0
    1. Utilisateur anonyme
       
      salut,

      tu es bon pour changer d'identifiant de connexion
      0
    2. ice_handler Messages postés 34 Statut Membre
       
      Mon identifiant est pas bon ? enfin celui que tu a vu avans que je l'enlève ?
      0
    3. Utilisateur anonyme
       
      dac
      0
    4. ice_handler Messages postés 34 Statut Membre
       
      Je te comprend pas la ..
      0
    5. Utilisateur anonyme
       
      tu me demande si les identifiants de connexion que tu as mis dans ton copier/coller sont bon ?
      0