IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Page PHP qui ne veut pas s'afficher


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    skandhal
    Invité(e)
    Par défaut Page PHP qui ne veut pas s'afficher
    Bonjour à toutes et à tous,

    J'ai un problème avec une page php qui n'affiche plus rien.

    En gros la situation:

    page1.php contient du php et un formulaire HTML permettant la saisie d'un nom d'utilisateur et d'un mot de passe pour se connecter à une partie du site web. Jusque là aucun problème.

    Lorsque l'on appui sur le bouton "se connecter", je passe (par la méthode POST) les paramètres de mon formulaire à une autre page php (page2.php).

    page2.php récupère les variables $_POST qui sont comparées à la base de données.
    Si ces données sont exactes, l'utilisateur est connecté.
    Si les données sont erronées, l'utilisateur est informé de s'il s'agit d'une erreur sur le nom d'utilisateur (l'utilisateur n'existe pas) ou sur le mot de passe (le mot de passe est incorrect). Rien d'extra ordinaire non plus.

    Donc hier soir je faisais mes tests avec des noms d'utilisateurs et mots de passe pour vérifier la cohérence de mon script php. Cela fonctionnait normalement, mais tout d'un coup sans avoir changé quoi que ce soit dans mon script de vérification. Tout c'est mis à vaciller!

    Par exemple un utilisateur test avec comme mot de passe test:

    A 21h50: L'utilisateur s'est bien connecté.
    A 21h51: Mot de passe incorrect.
    A 21h52: Page blanche dans le navigateur.

    J'ai commencé par vérifier les données dans la base de données. L'utilisateur test et son mot de passe n'ont pas été effacé, ni changé. Pourquoi alors ai-je eu mot de passe incorrect, sachant que mon script n'a pas changé entre 21h50 et 21h52.

    Bon connaissant le proverbe suivant: "La nuit porte conseil", j'ai jeté un dernier coup d'oeil à mon script et je suis parti dormir.

    Cet après midi, je ré-ouvre ma page1.php, je remet mes identifiants test/test, je clique sur "se connecter" et paf à nouveau page blanche. Je décide donc de faire un petit clic droit > afficher le code source. Et là, surprise! Rien! Même pas une balise html, header, body ou autre. LE NEAN COMPLET !!!

    Je décide donc de commenter toutes les lignes de mon script PHP et de mettre un simple echo "bonjour"; et de raffraichir ma page2.php. Surprise toujours rien dans le navigateur et dans le code source. Si je met du html pur idem rien ne s'affiche (code source inclus).

    Je n'ai aucun problème avec mes autres pages html ou php. Je ne comprends ce qui se passe avec celle là.

    Auriez-vous une idée de ce qui peut poser problème? Parce que là je sèche complet sur la question.

    En attendant: je vais tenter de changer le nom de la page pour voir, vraiment par curiosité, mais je doute que ça change quelques choses.

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    on veut voir ton code

  3. #3
    skandhal
    Invité(e)
    Par défaut
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name='login_form' method='post' action='./page2.php' >
    	Adresse e-mail: <input id="mail" type="text" name='mail' maxlength="32" size="35"/> 
    	Mot de passe: <input id="password" type="password" name='password' maxlength="8" size="10"/> 
    	<input id="button" type="submit" value="Se connecter" onclick='return check_login_form();' /><br />
    </form>
    Code de page2.php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title>xxxxxxxxx</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<meta name="author" content="xxxxxxxxx" />
    		<meta name="description" content="xxxxxxxxx" />
    		<meta name="keywords" content="xxxxxxxxx" />
    		<meta name="reply-to" content="xxxx@xxxx" />
    		<link rel="stylesheet" media="screen" type="text/css" title="xxxxxxxxx" href="css_bet.css" />
    		<link rel="icon" type="image/x-icon" href="picture/favicon.ico" />
     
    	</head>
    	<body>
    		<?php include("headerandmenu.php"); ?> <!--  -->
    		<div id="content1">
    			Vérification de vos identifiants de connexion en cours. Merci de patienter quelques secondes...<br />
    			<img src="pictures/#" alt="Logo patienter rotatif"/><br />
    			<?php
    				if(isset($_POST['mail']) && isset($_POST['password']))
    				{
    					if(!empty($_POST['mail']) && !empty($_POST['password']))
    					{
    						/* Connexion au server MySQL */
    						$idConn = mysql_connect("localhost", "XXXX", "XXXX");
    						/* Sélection de la base de données */
    						mysql_select_db("_db_bet");
     
    						$mail = mysql_real_escape_string($_POST['mail']);
    						$mail = strtolower($mail); // Forçage en minuscule
     
    						$password = md5($_POST['password']); // Cryptage du mot de passe MD5
     
    						$password_db = "";
    						$mail_db = "";
     
    						/* Construction de la requête MySQL et récupération des résultats */
    						$return = mysql_query('SELECT * FROM t_users WHERE mail = \'' . $mail .'\'') or die(mysql_error());
    						/* Fermeture de la connexion au serveur MySQL */
    						mysql_close($idConn);
    						/* Traitement des résultats */
    						while ($data = mysql_fetch_array($return))
    						{
    							$password_db = $data["password"];
    							$mail_db = strtolower($data["mail"]);
    						}
    						/* Adresse mail présente dans la base de données, vérification du mot de passe */
    						if($password == $password_db) /* Mot de passe valide */
    						{
    							/* On redirige l'utilisateur */
    							echo "Connexion réussie, vous allez être redirigé dans quelques secondes vers votre compte.<br />
    								Si vous n'êtes par redirigé automatiquement cliquez <a href=\"#\">ici</a>, merci."; // INSERER LE LIEN VERS LA PAGE DE CONNEXION ! ! ! <==========
     
    								/* Mettre à jour la base de données avec:
    								 * adresse IP de l'utilisateur ($REMOTE_ADDR) pour IP_address
    								 * date du jour pour last_connection
    								 * 
    								 */
     
    								/* Connexion au server MySQL */
    								$idConn = mysql_connect("localhost", "XXXX", "XXXX");
    								/* Sélection de la base de données */
    								mysql_select_db("_db_bet");
    								/* Construction de la requête MySQL et récupération des résultats */
    								$return = mysql_query('UPDATE t_users SET IP_address=' . $REMOTE_ADDR . ', last_connection='. now() .' WHERE mail = \'' . $mail .'\'') or die(mysql_error());
    								/* Fermeture de la connexion au serveur MySQL */
    								mysql_close($idConn);
     
    								/* SCRIPT REDIRECTION ICI */
     
    						}
    						else if($mail_db != $mail) 
    						/* Les mots de passe de correspondent pas: Erreur de saisie utilisateur */
    						else if($password != $password_db) echo "Le mot de passe n'est pas correct.<br />";
    						/* L'adresse mail est introuvable dans la base de données: Erreur de saisie utilisateur */
    						else echo "L'adresse mail n'existe pas dans notre base de données.<br />";
    					}
    					/* Uniquement pour les utilisateurs n'autorisant pas JavaScript */
    					else
    					{
    						/* On affiche un message d'erreur à la place du message de vérification */
    						echo "Le formulaire de connexion n'a pas été rempli correctement.<br />";
    						/* Champ adresse e-mail vide */
    						if(empty($_POST['mail'])) echo "Vous n'avez pas saisi votre adresse e-mail.<br />";
    						/* Champ mot de passe vide */
    						if(empty($_POST['password'])) echo "Vous n'avez pas saisi votre mot de passe.<br />";
    					}
    				}
    				/* On affiche un message d'erreur à la place du message de vérification */
    				else echo "Vous ne pouvez pas vous connecter de cette manière.<br />
    						Veuillez utiliser le formulaire de connexion, cliquez <a href=\"#\">ici</a>.<br />"; // INSERER LE LIEN VERS LA PAGE DE CONNEXION ! ! ! <==========
    			?>
    		</div>
     
    		<?php include("footer.php"); ?> <!--  -->
    	</body>
    </html>

    Voilà à la demande de Madfrix

    C'est grave docteur ?

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Que vaut ta fonction check_login_form() définie (bizzarement) sur un un input de type submit ?

  5. #5
    skandhal
    Invité(e)
    Par défaut
    C'est une simple fonction en JS qui me permet d'afficher un message d'erreur si les champs du formulaire sont remplis.

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <script type="text/javascript"><!--
    function check_login_form() // VERIFICATION DU FORMULAIRE
    {
    	var msg = "";
    	if (document.login_form.mail.value == "") // VERIFICATION DU NOM
    	{
    		msg += "Votre adresse e-mail.\n";
    		document.login_form.mail.style.backgroundColor = "#FFFFFF";
    	}
    	if (document.login_form.password.value == "") // VERIFICATION DU PRENOM
    	{
    		msg += "Votre mot de passe.\n";
    		document.login_form.password.style.backgroundColor = "#FFFFFF";
    	}
    	if (document.login_form.mail.value != "" && document.login_form.password.value != "") // SI LES CHAMPS SONT REMPLIS
    	{
    		return(true);
    	}
    	else // SINON EDITION DU MESSAGE D'ERREUR
    	{
    		alert('Veuillez compléter l\'(les) information(s) suivante(s) :\n'+msg);
    		return(false);
    	}
    }//-->
    </script>

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    modifie l'action du form avec une page php inexistante voir s'il t'envoie bien un message d'erreur et si tu quittes ta page blanche

Discussions similaires

  1. Image qui ne veut pas s'afficher
    Par vince85 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 17/06/2011, 13h40
  2. graphique qui ne veut pas s'afficher
    Par momoh dans le forum ASP.NET
    Réponses: 0
    Dernier message: 11/05/2009, 09h46
  3. STRSQL : DATE qui ne veut pas s'afficher
    Par TSalm dans le forum AS/400
    Réponses: 10
    Dernier message: 02/12/2008, 16h26
  4. JList qui ne veut pas s'afficher
    Par hamham dans le forum Composants
    Réponses: 16
    Dernier message: 29/01/2007, 18h20
  5. Page PHP qui ne s'affiche pas dans le site
    Par cyberdevelopment dans le forum Langage
    Réponses: 2
    Dernier message: 11/08/2006, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo