Problème if else header
Résolu/Fermé
bryce78
Messages postés
27
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 décembre 2011
-
11 juin 2011 à 21:20
bryce78 Messages postés 27 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 7 décembre 2011 - 11 juin 2011 à 22:45
bryce78 Messages postés 27 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 7 décembre 2011 - 11 juin 2011 à 22:45
A voir également:
- Problème if else header
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- Request header or cookie too large ✓ - Forum Réseaux sociaux
- Batch if else ✓ - Forum Autoit / batch
- Bad lzo decompression header byte 42 - Forum Linux / Unix
- Date if en francais excel - Forum Programmation
3 réponses
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
11 juin 2011 à 21:47
11 juin 2011 à 21:47
salut,
les if se placent avant l'accolade
else if ($pseudo=="usinage") {
les if se placent avant l'accolade
else if ($pseudo=="usinage") {
bryce78
Messages postés
27
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 décembre 2011
11 juin 2011 à 22:18
11 juin 2011 à 22:18
Merci de ta réponse Meoran, mais ça ne fonctionne toujours pas.
Voici mon code avec les modifs dont tu parles:
<?php
require("conf.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>".$sql_bdd."</b> sur le serveur <b>".$sql_server."</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}
if (isset($_POST['pseudo_membre']) and isset($_POST['passe_membre'])) {
$pseudo_membre=$_POST['pseudo_membre'];
$passe_membre=$_POST['passe_membre'];
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_select_db($sql_bdd,$db_link);
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur");}
else if($pseudo=="usinage"){
header("Location:inter-atelier.php");}
else if($pseudo=="logistique"){
header("Location:inter_logistique.php");}
else if($pseudo=="moulage"){
header("Location:inter-atelier.php");}
else if($pseudo=="lambda"){
header("Location:atelier.php");}
else if($pseudo=="peinture"){
header("Location:inter-atelier.php");}
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
et voici le message d'erreur que j'obtiens:
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 29
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 31
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 33
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 35
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 37
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
Une autre idée?
Merci!
Voici mon code avec les modifs dont tu parles:
<?php
require("conf.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>".$sql_bdd."</b> sur le serveur <b>".$sql_server."</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}
if (isset($_POST['pseudo_membre']) and isset($_POST['passe_membre'])) {
$pseudo_membre=$_POST['pseudo_membre'];
$passe_membre=$_POST['passe_membre'];
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_select_db($sql_bdd,$db_link);
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur");}
else if($pseudo=="usinage"){
header("Location:inter-atelier.php");}
else if($pseudo=="logistique"){
header("Location:inter_logistique.php");}
else if($pseudo=="moulage"){
header("Location:inter-atelier.php");}
else if($pseudo=="lambda"){
header("Location:atelier.php");}
else if($pseudo=="peinture"){
header("Location:inter-atelier.php");}
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
et voici le message d'erreur que j'obtiens:
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 29
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 31
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 33
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 35
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
( ! ) Notice: Undefined variable: pseudo in C:\wamp\www\login.php on line 37
Call Stack
# Time Memory Function Location
1 0.0007 378000 {main}( ) ..\login.php:0
Une autre idée?
Merci!
bryce78
Messages postés
27
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 décembre 2011
11 juin 2011 à 22:20
11 juin 2011 à 22:20
Pardon, la ligne 29 correspond au premier else if
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
Modifié par Meoran le 11/06/2011 à 22:31
Modifié par Meoran le 11/06/2011 à 22:31
Re,
l'erreur est on ne peut plus clair, la variable pseudo n'est pas défini... Et il a raison où la définis tu dans ton code ?? ^^
Tu fais une requête sql, tu récupères le résultat mais il faut le rendre exploitable avant de l'utiliser ;)
$array = $requête->fetch();
if (empty($array)) {
...
}
else if ($array['pseudo'] == 'usinage') {
...
}
...
l'erreur est on ne peut plus clair, la variable pseudo n'est pas défini... Et il a raison où la définis tu dans ton code ?? ^^
Tu fais une requête sql, tu récupères le résultat mais il faut le rendre exploitable avant de l'utiliser ;)
$array = $requête->fetch();
if (empty($array)) {
...
}
else if ($array['pseudo'] == 'usinage') {
...
}
...
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
Modifié par Meoran le 11/06/2011 à 22:33
Modifié par Meoran le 11/06/2011 à 22:33
Et puis prendre l'habitude de regarder la doc des fonctions que l'on utilise fréquemment pour en apprendre un peu plus sur leurs valeurs de retour par exemple...
http://fr2.php.net/manual/fr/function.mysql-query.php
http://fr2.php.net/manual/fr/function.mysql-query.php
bryce78
Messages postés
27
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 décembre 2011
11 juin 2011 à 22:38
11 juin 2011 à 22:38
Merci encore Meoran pour tes conseils, mais je suis débutant et je ne comprends pas très bien.
Peux-tu être un peu plus clair?
Que faut-il mettre entre le if (empty($array)) { et le else if...
A quel endroit dans mon code ci-dessus dois-je insérer $array = $requête->fetch();
if (empty($array)) {
Merci
Peux-tu être un peu plus clair?
Que faut-il mettre entre le if (empty($array)) { et le else if...
A quel endroit dans mon code ci-dessus dois-je insérer $array = $requête->fetch();
if (empty($array)) {
Merci
Meoran
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
206
11 juin 2011 à 22:43
11 juin 2011 à 22:43
Salut,
récupérer un pseudo dans ta base de données ne créer pas pour autant une variable $pseudo dans ton code php.
Le $array = $requête->fetch(); permet de récupérer ce pseudo dans un tableau.
Fait un print_r($array) juste après le fetch, tu verras ce qu'il contient concrètement ;)
SInon le code :
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
$array = $requête->fetch();
print_r($array);
if (empty($array)) {
header("Location:$url_erreur");
}
else if ($array['pseudo'] == 'usinage') {
header("Location:inter-atelier.php");
}
etc etc...
récupérer un pseudo dans ta base de données ne créer pas pour autant une variable $pseudo dans ton code php.
Le $array = $requête->fetch(); permet de récupérer ce pseudo dans un tableau.
Fait un print_r($array) juste après le fetch, tu verras ce qu'il contient concrètement ;)
SInon le code :
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
$array = $requête->fetch();
print_r($array);
if (empty($array)) {
header("Location:$url_erreur");
}
else if ($array['pseudo'] == 'usinage') {
header("Location:inter-atelier.php");
}
etc etc...
bryce78
Messages postés
27
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 décembre 2011
11 juin 2011 à 22:45
11 juin 2011 à 22:45
C'est bon je viens de trouver la solution!!!
Voici le code modifié:
<?php
require("conf.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if (isset($_POST['pseudo_membre']) and isset($_POST['passe_membre'])) {
$pseudo_membre=$_POST['pseudo_membre'];
$passe_membre=$_POST['passe_membre'];
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_select_db($sql_bdd,$db_link);
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur");}
elseif($pseudo_membre=="usinage"){
header("Location:inter-atelier.php");}
elseif($pseudo_membre=="logistique"){
header("Location:inter_logistique.php");}
elseif($pseudo_membre=="moulage"){
header("Location:inter-atelier.php");}
elseif($pseudo_membre=="lambda"){
header("Location:atelier.php");}
elseif($pseudo_membre=="peinture"){
header("Location:inter-atelier.php");}
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
Merci encore!
Voici le code modifié:
<?php
require("conf.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if (isset($_POST['pseudo_membre']) and isset($_POST['passe_membre'])) {
$pseudo_membre=$_POST['pseudo_membre'];
$passe_membre=$_POST['passe_membre'];
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_select_db($sql_bdd,$db_link);
$requete=mysql_query("select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"") or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur");}
elseif($pseudo_membre=="usinage"){
header("Location:inter-atelier.php");}
elseif($pseudo_membre=="logistique"){
header("Location:inter_logistique.php");}
elseif($pseudo_membre=="moulage"){
header("Location:inter-atelier.php");}
elseif($pseudo_membre=="lambda"){
header("Location:atelier.php");}
elseif($pseudo_membre=="peinture"){
header("Location:inter-atelier.php");}
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
Merci encore!