Probléme formulaire [Résolu]

Signaler
-
 yossra -
Bonjour,

j'ai un probléme , je fais une formulaire contient deux labelles login et mot de passe et les champs des textes et une bouton envoyer et cette formulaire permet d'afficher des messages d'erreurs et accéder a une autre page qui contient une labelle user et champs du texte lorsque le login et la mot de passe sont correctes mais le probléme que je ne peux pas résoudre ce probléme .les langages utilisés:html php
Configuration: Windows / Edge 84.0.522.63

13 réponses

Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Bonjour

Déjà j'ai déplacé ton sujet dans le bon forum...

ensuite tu nous expliques que tu as un formulaire mais en aucun cas tu nous donnes le message d'erreur ou une explication sur les soucis rencontrés...

il faudrait également nous montrer le code que tu as réalisé...

attention, pense à lire complètement les informations suivantes afin de poster ton code correctement sur le forum

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


.

<?php
define('USER','6501');
define('PASSWORD','7714');
$message='';
if($_POST){
if(empty($_POST['user']) && !empty($_POST['password'])){
   $message='veuillez indiquer votre login svp!';
}
elseif(empty($_POST['password']) && !empty($_POST['user']))
{
$message='veuillez indiquer votre mot de passe svp!';
}
elseif($_POST['user']!==USER && $_POST['password']==PASSWORD)
{$message='votre login est faux!';
}
elseif($_POST['password']!==PASSWORD And $_POST['user']==USER)
{$message='votre mot de passe est faux!';
}
elseif($_POST['user']!==USER And $_POST['password']!==PASSWORD){
$message='votre login/mot de passe est faux!';
}
if(empty($_POST['user']) && empty($_POST['password'])){
   $message='veuillez indiquer votre login et mot de passe svp!';
}
}?>
<code html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/1999/xhtml11.dtd" >
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
<code css>

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Style the header */
.header {
  background-color:white;
  padding: 50px;
  text-align: center;
}

/* Style the top navigation bar */
.topnav {
  overflow: hidden;
  background-color: white;
}
/* Create three unequal columns that floats next to each other */
.column {
  float: left;
  padding: 70px;
}

/* Left and right column */
.column.side {
  width: 25%;
  
}

/* Middle column */
.column.middle {
  width: 50%;
  background-color:rgb(0, 100, 255);
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* Style the footer */
.footer {
  background-color: white;
  padding: 40px;
  text-align: center;
}

/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .column.side, .column.middle {
    width: 100%;
  }
}
</style>
</head>
<body>
<div class="header">
 
</div>

<div class="topnav">
  
</div>

<div class="row">
  <div class="column side">
   
</div>
<div class="column middle">
 <center>
<h1 style="border:3px solid #ff6347;">welcome</h1>
 <br>
 <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<strong><im><h3><label for="username" >Username:  </label><input id="user" type="text" name="user" Size="20" value="<?php 
if(!empty($_POST['user'])){echo htmlspecialchars($_POST['user']);}?>"/> 
<br><br><label for="password" >Password:  </label><input id="user" type="text" name="password" Size="20" value="<?php 
if(!empty($_POST['user'])){echo htmlspecialchars($_POST['password']);}?>"/><br><br><?php echo"  ";echo"  ";echo"  ";echo"  ";echo"  "; echo"  ";echo"  ";?>
<input type="submit" name="submit" value="Submit" />
 </form>

<?php if(!empty($message)):?>
<p style="color:red;"><?php echo"  ";echo"  ";echo"  ";echo"  "; echo $message;?></p>
<?php endif; ?>
</div>
 <div class="column side">
   
</div>
<div class="footer">
 
</div>
</div>

</body>
</html>
</code></code>
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
oh purée.... je t'ai donné un lien qui explique comment poster ton code correctement en utilisant les balises de code..... visiblement tu n'as pas été le lire !
Merci de corriger ton message en postant ton code correctement ... là c'est illisible.

Et explique le souci rencontré !!
code du premiere page
<html lang="en">
<head>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
<code css>
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Style the header */
.header {
  background-color:white;
  padding: 50px;
  text-align: center;
}

/* Style the top navigation bar */
.topnav {
  overflow: hidden;
  background-color: white;
}





/* Create three unequal columns that floats next to each other */
.column {
  float: left;
  padding: 70px;
}

/* Left and right column */
.column.side {
  width: 25%;
  
}

/* Middle column */
.column.middle {
  width: 50%;
  background-color:rgb(0, 100, 255);
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* Style the footer */
.footer {
  background-color: white;
  padding: 40px;
  text-align: center;
}

/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .column.side, .column.middle {
    width: 100%;
  }
}
</style>
</head>
<body>

<div class="header">
 
</div>

<div class="topnav">
  
</div>

<div class="row">
  <div class="column side">
   
  </div>
  
  <div class="column middle">
  <center>
 <br>
  <form action="test.php" method="POST">
<strong><im><h3><label for="username" >Username:  </label><input id="username" type="text" name="user" Size="20" /> 

<br><br><br>
<input type="submit" name="submit" value="Submit" />
    </form>

  </div>
  
  <div class="column side">
    
  </div>
</div>
<div class="footer">
 
</div>

  
</body>
</html>
</code>
code du deuxième page
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Et donc ... quel est le souci rencontré ? car on ne sait toujours pas ce qui te bloque...
je veux passer de la page 1 vers 2 seulement lorsque le login=6501 et le mot de passe=7714 par le bouton submit et tous les autres cas je veux que le programme affiche les messages d'erreurs mais je ne sais pas comment je peux faire ca
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
dans quel partie je met cette balize?
<?php      
  header('Location: <ital>mapage.php</ital>');      
?>
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Cette ligne de code sert à faire une redirection...
Donc tu la places dans ton IF... là où tu veux que ça redirige vers ta seconde page.
je ne comprends pas.....
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Tu ne comprends pas quoi ??
comment utiliser la fonction header() , ca marche pas
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Et bien...
qu'as tu écris exactement ?
Où as tu placé ce code ?
En quoi cela ne marche-t-il pas ? un message d'erreur ??

Au passage, pense à activer l'affichage des erreurs PHP sur ta page
=> Voir les conseils donnés ici :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
emm en tout cas merci
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
Ton code devrait ressembler à un truc du genre
<?php
//Affichage erreurs php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

// Constantes et autres variables
define('USER','6501');
define('PASSWORD','7714');
$message='';
$url_page2 = "tapage2.php"; // variable à modifier selon tes besoins

// récupération propre des variables (POST/GET/SESSION...) AVANT de les utiliser
$user = !empty($_POST['user']) ? trim($_POST['user']) : NULL;
$password = !empty($_POST['password']) ? trim($_POST['password']) : NULL;

  //traitement du submit
if(isset($_POST['submit']){
  if(!$user  || !$password){
    $message='veuillez indiquer vos identifiants !';
  }elseif($user != USER || $password != PASSWORD ){
    $message='Vos identifiants sont faux. Merci de les vérifier';
  }elseif($user == USER || $password = PASSWORD){
     // tout est ok... donc :
     header('location:'.$url_page2);
     exit; // toujours mettre un exit après une redirection
  }
}

}?>


<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
    }

    /* Style the header */
    .header {
      background-color:white;
      padding: 50px;
      text-align: center;
    }

    /* Style the top navigation bar */
    .topnav {
      overflow: hidden;
      background-color: white;
    }
    /* Create three unequal columns that floats next to each other */
    .column {
      float: left;
      padding: 70px;
    }

    /* Left and right column */
    .column.side {
      width: 25%;
      
    }

    /* Middle column */
    .column.middle {
      width: 50%;
      background-color:rgb(0, 100, 255);
    }

    /* Clear floats after the columns */
    .row:after {
      content: "";
      display: table;
      clear: both;
    }
    /* Style the footer */
    .footer {
      background-color: white;
      padding: 40px;
      text-align: center;
    }

    /* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
    @media screen and (max-width: 600px) {
      .column.side, .column.middle {
        width: 100%;
      }
    }
    
    #btn_submit{
      padding-left:60px;
    }
    
    #div_error{
      margin-left:80px;
    }
    
    </style>
  </head>
  <body>
    <div class="header">
     
    </div>
    <div class="topnav">
      
    </div>
    <div class="row">
      <div class="column side">
    </div>
    <div class="column middle">
      <center>
      <h1 style="border:3px solid #ff6347;">welcome</h1>
      <br>
      <form action="" method="post">
        <strong><im><h3>
        <label for="username" >Username: </label>
        <input id="user" type="text" name="user" Size="20" value="<?php echo htmlspecialchars($user);?>"/> 
        <br><br>
        <label for="password" >Password: </label>
        <input id="user" type="text" name="password" Size="20" value="<?php echo htmlspecialchars($password);?>"/>
        <br><br>
        <input type="submit" id="btn_submit" name="submit" value="Submit" />
      </form>

      <?php 
      if(!empty($message)){
        echo '<div id="div_error">';
        echo '<p style="color:red;">'.$message.'</p>';
        echo '</div>';
      }
      ?>
    </div>
    <div class="column side">
       
    </div>
    <div class="footer">
     
    </div>
  </div>

  </body>
</html>

le programme affiche:
( ! ) Parse error: syntax error, unexpected '{' in C:\wamp64\www\page.php on line 18
Messages postés
29433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 août 2020
2 745
J'ai oublié une parenthèse fermante
A corriger par
if(isset($_POST['submit'])){

merci énormément ca marche
je veux connecter a l'active directory avec windows 10
pour collecter les informations sur les personnels connectées mais je ne connais pas comment je fais cette connexion