arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 6 juil. 2005 à 18:15
if (isset($_POST['mail']) && $_POST['mail'] == 'mail')
En écrivant ça, tu testes
-1. S'il existe une variable 'mail' dans le tableau $_POST, c'est-à-dire, si un formulaire contenant un champ 'mail' a été posté
et
2-. Si le champ posté contenait la chaine 'mail' => je ne pense pas que ce soit ce que tu cherches à faire !
Pour savoir si un mail a été posté, il suffit de tester
if (isset($_POST['mail']))
{...}
Sinon, pour la suite, il me semble inutile de commencer à tester si une variable existe, si ensuite tu vérifies qu'elle n'est pas nulle :
if ( (isset($mdp) ) && (!empty($mdp)) ) => à remplacer par => if (!empty($mdp))
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 6 juil. 2005 à 15:57
Bonjour,
Tu mélanges les méthodes POST et GET, est-ce volontaire ?
Lorsque tu passes des variables dans l'adresse, par exemple 'espace_membre.php?page=2', tu utilises la méthode get. à partir de la page 'espace_membre.php' tu peux lire la valeur de la variable page dans le tableau GET : $_GET['page'].
La méthode post, quant à elle, s'utilises avec un formulaire dans lequel on définit une page de destination (action), et des champs. Par exemple :
<form method="post" action="espace_membre.php">
</form>
Alors, à partir de la page espace_membre.php, tu peux lire les valeurs des champs dans le tableau POST : $_POST['champ1']
Ainsi, lorsque tu écris "$_POST['espace_membre.php?page=2']", cela voudrait dire que, dans ton formulaire, tu as un champ qui s'appelle "espace_membre.php?page=2", mais je ne pense pas que ce soit le cas...
Essaie en utilisant $_POST avec les noms de tes champs...
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 7 juil. 2005 à 10:10
Oui, c'est ce que je voulais dire.
D'ailleurs, je ne comprends pas très bien pourquoi tu commences par tester si tes variables ne sont pas vides, pour ensuite les remplir.
Je pense que tu testes les variables $mdp (par exemple) au lieu des variables $_POST['mdp']. Dans les anciennes versions de php, par défaut register_global était à On, c'est-à-dire que les variables postées dans un formulaires (par exemlpe dans un champ "nom") pouvaient se lire en utilisant directement $nomDuCham (exemple : $nom). Aujourd'hui, il est conseillé de mettre register_global à off (dans php.ini), et de n'accéder aux variables postées que par $_POST['nomDuChamp'] (exemple : $_POOST['nom']).
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 7 juil. 2005 à 10:41
De nouvelles erreurs ont du se révéler, mais elles ne doivent pas s'afficher.
Une page blanche sans erreur, c'est probablement que l'affichage des erreurs est désactivé dans php.ini : error_display->On, pour la phase de développement, c'est indispensable me semble-t-il (mais ensuite, pour la phase de production, il faut remettre l'affichage des erreurs à Off).
Si tu n'as tjs pas d'erreur affichée, essaie de mettre des echo "test 1"; à différents endroits de ta page, pour voir jusqu'où le code s'exécute...