Formulaire simple retourne page blanche

Benj
Invité n'ayant pas de compte PHPfrance

24 mars 2014, 14:54

Bonjour à tous,

J'ai vu que certains post parlaient de ce type de problème, mais aucun n'a pu m'éclairer sur mon problème :?

J'ai une page d'accueil simple, demandant juste un mot de passe. Ce formulaire renvoi vers une page php de vérification et là... page blanche! Et impossible de savoir pourquoi, j'ai testé en mettant des echos un peu partout, toujours rien.

Si quelqu'un a une idée, je suis preneur!

Je commence tout juste et je bloque dejà ^^'

Merci!

PAGE 1.php
<html>
<body>
<h1>Acces a Wgs Data Manager</h1><br>
<form action="secret.php" method="post">
<input type="password" name="Password">
<input type="submit" name="Entrer">
</form>
</body>
</html>

SECRET.php
<html>
<body>
<?php
if (isset ($_POST['Password'])){
echo "Identification en cours";
if !(empty($_POST['Password'])){
$_passwd = $_POST['Password'];
if ($_passwd == "moustique"){
echo "Connexion etablie.";
}
else{
echo "Acces refuse! Mot de passe incorrect!";
}
}
}
?>
</body>
</html>

Eléphanteau du PHP | 34 Messages

24 mars 2014, 16:02

Bonjour Benj,

Pour commencer, vérifie que tu as activé le retour d'erreur dans ton php.ini (si il y a un ';' devant ça veut dire que la ligne est commentée. Supprime ce caractère)
display_errors = on

Ou bien place directement ceci en haut de ton code (mais il vaut mieux passer par le php.ini)
if (!ini_get('display_errors')) {
    ini_set('display_errors', '1');
}
Ensuite il y a une erreur de syntaxe dans ton code ici :
if !(empty($_POST['Password']))
Déplace ton point d'exclamation jusqu'au empty. Car dans ton cas tu es en train d'analyser uniquement le retour de l'index 'password' dans $_POST :
if (!empty($_POST['Password']))
Pour terminer :
- n'active pas le retour d'erreur que dans un environnement de production.
- si le noms de champs HTML s'appel "password", alors dans le PHP utilise "password" et non "Password" (simple confort de codeur... quoique, selon les SE le camelcase sera un problème même si c'est du PHP :wink: )
- ne mets pas d'espace dans un nom de page. Utilise par exemple des underscrore "_".

Il y aurait beaucoup de choses à dire mais je te laisse découvrir le langage et ce qui l'entoure par toi même (best practice !!! :mrgreen: )

Benj
Invité n'ayant pas de compte PHPfrance

24 mars 2014, 17:41

Bonjour Alf,

Merci pour ta réponse. J'ai fais les réglages et modifications que tu m'as proposés:

1. vérification du fichier php.ini => c'est bon.
2. correction de l'erreur de syntaxe => ok aussi.
3. vérification des noms de fichiers, de variables, de champs, etc...

Et toujours cette même page blanche. Cependant même en récupérant des codes fonctionnels sur internet (je pense notamment à Openclassroom), j'ai toujours cette page blanche.

J'ai donc un doute sur les réglages de l'ordinateur pour lire et exécuter des requêtes php. Et mes connaissances étant bien limitées, je ne vois pas comment tout vérifier seul.