Page Blanche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Page Blanche

par jpaul » 03 avr. 2006, 16:17

Sauf erreur, je vois des 'echo' avant ton header.
Si c'est un header, faut rien envoyer avant, autrement ça n'est plus un header ;)
Je pense que ton problème vient de là...

par Photographiquement Vôtre » 03 avr. 2006, 15:30

Rebonjour,

Toujours dans ma validation de Formulaire.

Maintenant je n'arrive pas à regiriger vers la feuille admin_coord

header('Location: admin_coord.php');// On redirige le membre sur la page membre

Merci de me dire pourquoi

Mon code modifié
<?php 

include ("connection.php"); 

session_start(); 

/* Traitement du formulaire pour l'accès à l'espace membre */ 
                                              
// on teste si le visiteur a soumis le formulaire de connexion 

if (isset($_POST['Connexion']) ) 
    { 
    if ((isset($_POST['membre_login']) && !empty($_POST['membre_login'])) && (isset($_POST['membre_pass']) && !empty($_POST['membre_pass']))) 
        { 
// On se connecte à la base de données 
// requête pour la déclaration de la session id 
        $query='SELECT * FROM tblmembre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass="'.addslashes($_POST['membre_pass']).'"'; 
        $result=@mysql_query($query); 
        $row=@mysql_fetch_array($result); 

// on teste si une entrée de la base contient ce couple login / pass 
                  
        $sql = 'SELECT COUNT(*) FROM tblmembre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass="'.addslashes($_POST['membre_pass']).'"'; 
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        $data = mysql_fetch_array($req); 
        // On libère l'espace mémoire et on ferme la base de données 
        mysql_free_result($req); 
        mysql_close(); 
          
        // si on obtient une réponse, alors l'utilisateur est un membre 
        if ($data[0] == 1) 
            { 
// On déclare des lors les variables de sessions pour la suite du programme 
// variable de session 
            echo "$data[0]"; 
            $_SESSION['membre_login'] = $_POST['membre_login']; // Variable de session contenant le pseudo du membre 
            $_SESSION['membre_id'] = $row[0];// Variable de session contenant l'id du membre 
             echo "$row[0]";         
            header('Location: admin_coord.php');// On redirige le membre sur la page membre 
            exit();// On sort 
            } 
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
        elseif ($data[0] == 0) 
            { 
//$erreur = 'Compte non reconnu.'; 
// On affiche une boîte de dialogue informant la personne que les coordonnées saisies dans le formulaire sont incorrectes 
               echo '<SCRIPT language="JavaScript" type="text/javascript">      
            window.alert("Compte non reconnu dans la base de données"); 
            </script>'; 
            } 
          
        // sinon, alors la, il y a un gros problème 
          
        else 
            { 
// Déclaration du message d'erreur 
             
            echo '<SCRIPT language="JavaScript" type="text/javascript"> 
            window.alert("Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion."); 
            </script>'; 
            } 
        } 
    else 
        { 
// Declaration du message d'erreur 
        echo '<SCRIPT language="JavaScript" type="text/javascript"> 
            window.alert("Veuillez remplir toutes les cases."); 
            </script>'; 
        } 
    } 
/* Fin traitement du formaulaire pour l'accees a l'espace membre */                          
?> 

<!--------------------Gestion de la page avec l'affiche des différents éléments---------------------> 
<html> 
<head> 
<title></title> 

<link rel="stylesheet" type="text/css" href="/stylegen.css"> 

<style type="text/css"> 

/* <![CDATA[ */ 
     
</style> 

</head> 

<!-----------------------Début du traitement de l'affichage de la page--------------------------------> 
<body> 



<br><br><br><br><br><br><br><br>     
<table width="350" border ="0" align="center"> 
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" name="FormMemo"> 
     
    <tr> 
        <td >Saisissez votre Login 
        </td> 
        <td> 
            <input type="text" name="membre_login" value=""> 
        </td> 
    </tr> 
    <tr> 
        <td >Saisissez votre Mot de passe 
        </td> 
        <td> 
            <input type="password" name="membre_pass" value=""> 
        </td> 
    </tr> 
    <tr> 
        <td colspan="2" align="center"><br><input type="submit" name="Connexion" id="Connexion" value="Connexion" > 
    </form> 
        </td> 
    </tr> 
     
</table> 


</body> 
</html>

par Photographiquement Vôtre » 03 avr. 2006, 14:54

Super Merci comme quoi un oeil neuf

par zeus » 03 avr. 2006, 14:37

effectivement, je m'était mis en tête que c'est le name qui était la valeur du post :?

par jpaul » 03 avr. 2006, 14:31

Je ne comprends pas ta remarque zeus :
name="connexion" value="Connexion"
est bien cohérent avec :
$_POST['connexion'] == 'Connexion'
non ?

Autrement, quand je suis face à ce genre de problème :
1) je demande au navigateur d'afficher les code source de la page blanche, on a des fois de bonnes surprises.
2) je fais un petit dumps des variables reçues :
       echo "<BR>Dump _POST";
	reset($_POST);
	while (list($key, $val) = each($_POST)) {
		echo "<BR>$key -> $val";
	}
       echo "<BR>Dump _GET";
	reset($_GET);
	while (list($key, $val) = each($_GETT)) {
		echo "<BR>$key -> $val";
	}

Re: Page Blanche

par zeus » 03 avr. 2006, 14:13

Je dirais que le 1er test ne fonctionne pas parce que :
... && $_POST['connexion'] == 'Connexion') ...
mais que
...<input type="submit" name="connexion" value="Connexion" >...

Page Blanche

par Photographiquement Vôtre » 03 avr. 2006, 14:11

Bonjour,

J'ai un formulaire pour un login.

Quand je valide, il me retourne une page blanche.

Je ne vois pas l'erreur.

Si quelqu'un pouvait m'aider.

Merci d'avance

<?php 

include ("connection.php"); 

session_start();

/* Traitement du formulaire pour l'accès à l'espace admin */ 
                                             
// on teste si le visiteur a soumis le formulaire de connexion 

if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
	{ 
//on teste si les valeurs sont vides    
		if ((isset($_POST['admin_login']) && !empty($_POST['admin_login'])) && (isset($_POST['admin_pass']) && !empty($_POST['admin_pass'])))
    	if (isset($_POST["admin_login"])) $admin_login=htmlspecialchars(stripslashes($_POST["admin_login"]), ENT_QUOTES);
		if (isset($_POST["admin_pass"])) $admin_pass=htmlspecialchars(stripslashes($_POST["admin_pass"]), ENT_QUOTES);
        
    	{ 
// On se connecte à la base de données 
// requête pour la déclaration de la session id 
        $query='SELECT * FROM tbladmin WHERE admin_login="'.addslashes($_POST['admin_login']).'" AND admin_pass="'.addslashes($_POST['admin_pass']).'"'; 
        $result=@mysql_query($query); 
        $row=@mysql_fetch_array($result); 

// on teste si une entrée de la base contient ce couple login / pass 
                 
        $sql = 'SELECT COUNT(*) FROM tbladmin WHERE admin_login="'.addslashes($_POST['admin_login']).'" AND admin_pass="'.addslashes($_POST['admin_pass']).'"'; 
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        $data = mysql_fetch_array($req); 
        // On libère l'espace mémoire et on ferme la base de données 
        mysql_free_result($req); 
        mysql_close(); 
         
        // si on obtient une réponse, alors l'utilisateur est un admin 
        if ($data[0] == 1)
        	{ 
 // On déclare des lors les variables de sessions pour la suite du programme 
 // variable de session 
            $_SESSION['admin_login'] = $_POST['admin_login']; // Variable de session contenant le pseudo du admin 
            $_SESSION['admin_id'] = $row[0];// Variable de session contenant l'id du admin         
            header('Location: admin_coord.php');// On redirige l'admin sur la page admin 
            exit();// On sort 
        	} 
 // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
 		elseif ($data[0] == 0)
 			{ 
 //$erreur = 'Compte non reconnu.'; 
 // On affiche une boîte de dialogue informant la personne que les coordonnées saisies dans le formulaire sont incorrectes 
       		echo '<SCRIPT language="JavaScript" type="text/javascript">     
            window.alert("Compte non reconnu dans la base de données"); 
            </script>'; 
        	} 
         
        // sinon, alors la, il y a un gros problème 
         
        else
        	{ 
// Déclaration du message d'erreur 
            
			echo '<SCRIPT language="JavaScript" type="text/javascript">
			window.alert("Probème dans la base de données : plusieurs admins ont les mêmes identifiants de connexion."); 
			</script>'; 
 	        } 
        } 
    else
	    { 
// Declaration du message d'erreur 
    	echo '<SCRIPT language="JavaScript" type="text/javascript">
			window.alert("Veuillez remplir toutes les cases."); 
			</script>'; 
    	} 
	} 
/* Fin traitement du formulaire pour l'accès a l'espace admin */                         
?> 

Code : Tout sélectionner

<!--------------------Gestion de la page avec l'affiche des différents éléments---------------------> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="/stylegen.css"> <style type="text/css"> /* <![CDATA[ */ </style> </head> <!-----------------------Début du traitement de l'affichage de la page--------------------------------> <body> <br><br><br><br><br><br><br><br> <table width="350" border ="0" align="center"> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" name="FormMemo" id=FormMemo"> <tr> <td >Saisissez votre Login </td> <td> <input type="text" name="admin_login" value=""> </td> </tr> <tr> <td >Saisissez votre Mot de passe </td> <td> <input type="password" name="admin_pass" value=""> </td> </tr> <tr> <td colspan="2" align="center"><br><input type="submit" name="connexion" value="Connexion" > </form> </td> </tr> </table> </body> </html>