Bonjour, Bonsoir !
Je vous explique. À la conception de ce michu michu, ça marchait très bien mais là, ça me l'envoi mais aucun réponse. Aucune erreur PHP. D'où pourrait venir le problème ? Merci.
<?php
require('configuration.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Connexion</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="design/design.css">
<meta description="Page de connexion">
</head>
<body>
<div id="contenu">
<div class="well well-small">
<h3>Connexion</h3>
<?php
if(isset($_POST'submit']))
{
// Sécurisation des variables
$pseudo = $mysqli->real_escape_string(trim(htmlspecialchars($_POST'pseudo'])));
$mdp = $mysqli->real_escape_string(trim(htmlspecialchars($_POST'mdp'])));
if(!empty($pseudo&&$mdp))
{
// Le mot de passe est crypté.
$mdp = sha1(md5($mdp));
// On va vérifier les données entrées.
if($mysqli->query("SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$mdp'"))
{
echo "Ok";
}else echo "<div class='alert alert-danger'>Les informations rentrées sont incorrects</div>";
}else echo "<div class='alert alert-danger'>Veuillez saisir l'intégralité du formulaire !</div>";
}
?>
<form method="POST" action="">
<label for="pseudo">Votre pseudo :</label>
<input type="text" class="input input-xlarge" name="pseudo" placeholder="Pseudo" value="<?=$_POST"pseudo"] ?>" ><br />
<label for="mdp">Votre mot de passe :</label>
<input type="password" class="input input-xlarge" name="mdp" placeholder="••••••"><br />
<button class="btn btn-success" name="submit">Valider</button>
</form>
<a href="inscription.php">Pas encore membre ?</a>
</div>
</div>
</body>
</html>
essaie ceci, j'ai mis des echo pour voir ce que rend l'execution du php (voir les lignes avec des commentaire // REMOVEME a ne pas retirer le temps des tests)
fait nous un screenshot tant qu'a faire, ainsi que l'adresse navigateur après l'envoie du formulaire
<?php require('configuration.php') ;?>
<!DOCTYPE html>
<html>
<head>
<title>Connexion</title>
<meta description="Page de connexion" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="design/design.css" />
</head>
<body>
<div id="contenu">
<div class="well well-small">
<h3>Connexion</h3>
<?php
if(isset($_POST'submit'])){
echo __FILE__.':'. __LINE__.' Formulaire ok<br />'; // REMOVEME
var_dump( $_POST ); // REMOVEME
$pseudo = $mysqli->real_escape_string(trim(htmlspecialchars($_POST'pseudo'])));
$mdp = $mysqli->real_escape_string(trim(htmlspecialchars($_POST'mdp'])));
if(!empty($pseudo && $mdp)){
echo __FILE__.':'. __LINE__.' $pseudo et $mdp ne sont pas vide (ok)<br />'; // REMOVEME
$mdp = sha1(md5($mdp));
if($mysqli->query("SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$mdp'")){
echo __FILE__.':'. __LINE__.' requete query ok<br />'; // REMOVEME
echo "Ok";
}else{
echo __FILE__.':'. __LINE__.' requete query PAS OK<br />'; // REMOVEME
echo "<div class='alert alert-danger'>Les informations rentrées sont incorrects</div>";
}
}else{
echo __FILE__.':'. __LINE__.' $pseudo et/ou $mdp vide PAS OK<br />'; // REMOVEME
echo "<div class='alert alert-danger'>Veuillez saisir l'intégralité du formulaire !</div>";
}
}else{
echo __FILE__.':'. __LINE__.' aucun formulaire envoyer<br />'; // REMOVEME
}
?>
<form method="POST" action="">
<label for="pseudo">Votre pseudo :</label>
<input type="text" class="input input-xlarge" name="pseudo" placeholder="Pseudo" value="<?php if(isset($_POST"pseudo"])) echo $_POST"pseudo"] ?>" ><br />
<label for="mdp">Votre mot de passe :</label>
<input type="password" class="input input-xlarge" name="mdp" placeholder="••••••"><br />
<button class="btn btn-success" name="submit">Valider</button>
</form>
<a href="inscription.php">Pas encore membre ?</a>
</div>
</div>
</body>
</html>
j'ai un doute sur un truc, ligne 39, tu n'as pas d'action et je ne sais plus si automatiquement il va comprendre qu'il doit s’appeler lui même pas.
au pire avant ta ligne 17 fait
echo "<pre>";
var_dump($_POST);
echo "</pre>";
tu sauras si quelque chose est transmis ou pas
Donc ouais,
Il y a ça :
array(0) {
}
Que j'envoie des données ou pas.
EDIT : Si, quand j'appuie sur Valider, mais que je mets pas de donnée j'ai ça :
array(3) {
"pseudo"]=>
string(0) ""
"mdp"]=>
string(0) ""
"submit"]=>
string(0) ""
}
dans ton
<form method="POST" action="">
pour action met lui l'url de destination, ça coûte rien et ça enlèvera un doute
et donc si tu valides en mettant des infos, tu n'as rien? tu n'as juste que les squelettes qui reviennent vide rien de plus
Exact, rien de plus.
J'ai mis connexion.php dans l'action mais c'est pareil de toute manière, je suis en HTML5.
Voici l'adresse :
http://reseausocial.alwaysdata.net/respawn/connexion.php
Ça marche en plus !
Je vois pas de problème particulier, le traitement est correctement fait, la ligne 25 renvoie bien un true, te reste plus cas faire un fetch ^^
EDIT: Rajoute ça après la ligne 27
while($d = $reponse->fetch()){
var_dump( $d ); //
}
non pas osef, le query te retourne true si la requête est bonne, en terme de synthax, pas en terme de traitement, ce qu'on veux c'est que la synthax soit bonne ET qu'on trouve un résultat, signifiant qu'on à trouver un utilisateur qui correspond aux données du formulaire