Mon fichier php ne lit pas les code html

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. 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 ).
    1. salut,

      tu es bon pour changer d'identifiant de connexion
    2. Mon identifiant est pas bon ? enfin celui que tu a vu avans que je l'enlève ?
    3. dac
    4. Je te comprend pas la ..
    5. tu me demande si les identifiants de connexion que tu as mis dans ton copier/coller sont bon ?
  2. Modérateur
    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
    1. 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. :(
    2. Modérateur
      @ice_handlerSalut

      Ta page est bien hébergé sur un serveur avec un interpréteur php ?
    3. Et bien je suis avec hostinger et sur mon site j'ai déjà une page php qui fonction correctement.
  3. 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>
    1. Modérateur
      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....
      

      1. Merci beaucoup j'ai fait les modifications mais sa ne marche toujours pas. Sa m'affiche une page blanche...
      2. Modérateur
        @ice_handlerMontres nous ton code modifié ainsi que ton formulaire html