HTML Form

Résolu/Fermé
Signaler
Messages postés
36
Date d'inscription
samedi 3 mars 2018
Statut
Membre
Dernière intervention
18 mars 2019
-
Messages postés
36
Date d'inscription
samedi 3 mars 2018
Statut
Membre
Dernière intervention
18 mars 2019
-
Bonjour,

Dans une page HTML, j'ai une form qui me permet de saisir le nom d'un utilisateur.
Cette form contient aussi un champ texte Message.
Je contrôle que l'utilisateur saisi est bien présent dans la base de données.
Si il est present, je veux afficher "Utilisateur OK" dans le champ message.
Si il est absent, je veux afficher "Utilisateur NOK" dans le champ message.

Pour info, l'acces à la base de données se fait en PHP.

Merci d'avance pour vos réponses.


2 réponses

Messages postés
2755
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
10 janvier 2022
1 712
Bonjour.

Et où est votre problème?

La partie de code défectueuse ainsi que l'erreur permettrait éventuellement d'aider.

A Vaincre sans péril, on triomphe sans gloire.
Pierre Corneille, Le Cid 
0
Messages postés
36
Date d'inscription
samedi 3 mars 2018
Statut
Membre
Dernière intervention
18 mars 2019

Bonjour,

le code fonctionne parfaitement sauf que je ne sais pas comment afficher un texte dans le champ 'message' qui fait partie de la Form.
Cette Contient 2 champs :
- le nom de l'utilisateur
- le champ 'message' que je veux remplir selon le résultat (OK ou NOK) de ma requête à la base de données.

Merci pour ton message !
0
Messages postés
2755
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
10 janvier 2022
1 712
Bonjour,

echo $_POST['utilisateur'];
if ($sql==true){
$message='OK';
}
else
$message='NOK';


Etant donné qu'on ne sait RIEN sur votre code, c'est la seule chose que je peux vous dire. Si vous voulez vraiment de l'aide, poster votre code, je vous promets que ça peut aider.
0
Messages postés
36
Date d'inscription
samedi 3 mars 2018
Statut
Membre
Dernière intervention
18 mars 2019

Bonjour,

Voici le fichier HTML suivi du fichier PHP

<!DOCTYPE html>
<head>
<!-- En-tête de la page -->
<meta charset="utf-8">
<title>Test Forms</title>
</head>

<body
<p
<em>You are welcome</em>
</p>

<!-- formulaire -->
<form method="post" action="checkpseudo.php">

<!-- pseudo + password -->
<p>
<label for="pseudo">Votre pseudo :</label>
<input type="text" name="pseudo" id="pseudo" required><br/>
<label for="message">Resultat :</label>
<input type="text" name="message" id="message">
</p>

</form>
<!-- fin du formumaire -->
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Check Pseudo against Database</title>
</head>
<body>
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

$pseudo = !empty($_POST['pseudo']) ? trim($_POST['pseudo']) : NULL;
$pseudo_up = strtoupper($pseudo);

$req = $bdd->prepare('SELECT pseudo, password FROM visiteurs WHERE pseudo = :pseudo');

$req->execute(array('pseudo' => $pseudo_up));

$donnees = $req->fetch();

if($donnees)
{
//C'est ici que je veux afficher OK dans le champ message de la form
}
else
{
//C'est ici que je veux afficher NOT OK dans le champ message de la form
}

$req->closeCursor(); // Termine le traitement de la requête
?>
</body>
</html>

merci pour ta réponse
0
Messages postés
2755
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
10 janvier 2022
1 712
Si je comprend bien votre logique, vous voulez placer en placeholder un résultat d'une requête en BDD?

Vous pouvez faire ça avec du session:
Votre ligne :
<input type="text" name="message" id="message"> 

Deviendrait :
<input type="text" name="message" id="message" placeholder=<?php $_SESSION['Message'];?>  


Votre fichier PHP s'occuperait alors de remplir la variable $_SESSION['Message'] avec ce que vous voulez
(https://www.php.net/manual/fr/reserved.variables.session.php

Ou alors vous pouvez faire en sorte que votre formulaire renvoi sur la même page, et le traitement serait fait uniquement sur votre formulaire est rempli:
 if (isset($_POST['pseudo'])){
     //Faire votre recherche en BDD et définir une variable $message par exemple 
}
//Votre formulaire 
<code html><input type="text" name="message" id="message" placeholder=<?php echo $message; ?> 

A Vaincre sans péril, on triomphe sans gloire.
Pierre Corneille, Le Cid 
0
Messages postés
36
Date d'inscription
samedi 3 mars 2018
Statut
Membre
Dernière intervention
18 mars 2019

Bonjour,

merci beaucoup pour votre réponse. Je n'ai pas encore testé mais je suis preneur des 2 solutions proposées.
Je vais d'ailleurs clôturer le sujet.
Bonne journée.
0