Problème Include. [Résolu]

Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
- - Dernière réponse : JoJo738
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
- 27 août 2005 à 01:13
B
onsoir,



J
'écris ce message parce que j'ai un soucis au
niveau des includes dans une mes pages. En effet, j'ai créé un
espace-membres avec une page d'authentification
(http://simslayer.free.fr/iden.inc.php) que j'inclue par le biais de la
fonction Include() dans ma page index (http://simslayer.free.fr), et là
le formulaire d'authentification ne marche plus! (Login : "lollollo",
pass : "lollollo"). De même que pour une page inclue dans l'index après
s'être identifié (sur http://simslayer.free.fr/iden.inc.php étant donné
que le formulaire sur l'index ne fonctionne pas) qui contient des
variables de sessions... Après l'identification, il y'a deux lignes qui
contiennent des variables de sessions mais qui sont appellée
directement par l'index, et deux autres (les mêmes) qui sont contenues
dans un fichier inclue par le biais de la fonction Include.



Le code PHP dans l'entête de l'index est le suivant :



<?PHP

session_start();

Require 'core/cfg.inc.php';

?>



Le code PHP dans le corps de l'index est le suivant :



<?PHP

if (!isset($_SESSION['login'])) {

include($site.'/iden.inc.php'); // <--- Le formulaire fonctionne sur http: //simslayer.free.fr/iden.inc.php mais pas sur cette page !

}

else {

echo 'Bienvenue '.$_SESSION['login'].' !
', // <--- La variable de sessions fonctionne !

'Vous avez '.$_SESSION['base_coins'].' jetons !'; // <--- La variable de sessions fonctionne !

include($site.'/account.inc.php'); // <--- Les variables de sessions de ce fichier ne fonctionnent plus !

}

?>



S
i quelqu'un avait la gentillesse et la patience de m'aider, je lui en serait très reconnaissant.



Merci par avance,



Arsenine.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
3
Merci
Lu,

$Form .= '<' . '?php if (isset($_GET[\'err\'])) {'; // <-- J'obtiens une erreur*.
Et voila ^^
<hr>Si ma reponse te convient, merci de l'accepter !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de JoJo738
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012
0
Merci
Faudrais que tu post egalement le code de tes fichier que tu inclue et qui ne marche pas, et que tu expliques en quoi elles ne marchent pas tes pages ? erreur, pas de variable...


<HR>
Loi du plagiat industriel de Felson : <CITE>Voler les idées d'une personne, c'est du plagiat. En voler à plusieurs, c'est de la recherche.</CITE>
Commenter la réponse de morpheus262
Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
0
Merci
B
onjour, et merci pour ta contribution,



L
e fichier "cfg.inc.php" contient les variables
globales que j'utilise pour tout le site (identifiants de connection à
la database par exemple), les variables de sessions sont contenues dans
le fichier "login.php" (Qui est la cible du formulaire de la page
"iden.inc.php").



"a
ccount.inc.php" est appellé lorsque le membre
est loggué. (On peut tester uniquement par
http://simslayer.free.fr/iden.inc.php étant donné que le même
formulaire inclu sur l'index ne fonctionne pas.)



Le code source de index.php est dans mon message précédent.




Le code source de login.php :

<?

require('cfg.inc.php');



$db = mysql_connect($sql_path, $sql_login, $sql_pwd);

mysql_select_db($sql_dbname,$db);



if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {

extract($_POST);

// on recupère le password de la table qui correspond au login du visiteur

$sql = "SELECT * FROM clients_tbl WHERE clogin='".$login."'";

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());



$data = mysql_fetch_assoc($req);



if($data['cpwd'] != $pass) {

include($site.'/iden.inc.php?err=1'); // On inclus le formulaire d'identification

exit;

}

else {

session_start();

$_SESSION['login'] = $login;

$_SESSION['base_coins'] = $data['base_coins'];

echo 'Vous êtes bien loggué.';

}

}

else {

include($site.'/iden.inc.php?err=2'); // On inclut le formulaire d'identification

exit;

}

?>

Le code source de account.php :

<?PHP

session_start();

Require 'core/cfg.inc.php';

?>

<HTML>



<HEAD>

</HEAD>





Bienvenue
<?php

echo $_SESSION['login']; ?>

! (Déconnection)
Vous avez
<?php

echo $_SESSION['base_coins']; ?>

&nbsp;jetons !





</HTML>



Le code source de iden.inc.php (nettoyé par rapport à la version de mon site) :



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<HTML>

<?PHP Require 'core/cfg.inc.php'; ?>

<HEAD>

<TITLE>Identification</TITLE>

</HEAD>





<!--Formulaire d'identification-->

<FORM ACTION ="<?php echo $site.'/core/login.php'?>" METHOD="POST" NAME="Identification">

<?PHP


If
(isset($_GET['err'])) {



Switch($err)



{



Case '1':



Echo
'Identifiants incorrects.';



Break;



Case '2':



Echo
'Veuillez remplir TOUS les champs.';



Break;



Case '3':



Echo
'Votre mot de passe vous a été envoyé par mail.';




Break;



}



}

?>





Login


Password




</FORM>





</HTML>





V
oilà, je pense que tout y est...



Arsenine.
Commenter la réponse de cs_Aaron
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012
0
Merci
Je comprends pas trop pourquoi tu dis que ton formulaire ne marche pas ? tu as quoi comme erreur ? ca ne lance pas la page login ?


<HR>
Loi du plagiat industriel de Felson : <CITE>Voler les idées d'une personne, c'est du plagiat. En voler à plusieurs, c'est de la recherche.</CITE>
Commenter la réponse de morpheus262
Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
0
Merci
O
ui je pense que c'est le problème. Le formulaire
ne marche pas sur la page index, mais il marche sur la page
iden.inc.php. Donc dès que je fait appel à cette page (qui marche à la
base) par la fonctionne include, elle ne marche plus.
Commenter la réponse de cs_Aaron
Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
0
Merci
S
ans passer par un include j'ai essayé :



<?PHP

if(!IsSet($_SESSION['login'])) {

$Form = "<FORM
ACTION="<?php echo $site.\'/core/login.php\'\?\>"
METHOD="POST" NAME="Identification">";

$Form .= "<?PHP if (isset($_GET[\'err\'])) {"; // <-- J'obtiens une erreur*...

$Form .= "Switch($err){ Case \'1\': Echo \'Identifiants incorrects.\'; Break;";

$Form .= "Case \'2\': Echo \'Veuillez remplir TOUS les champs.\'; Break;";

$Form .= "Case \'3\': Echo
\'Votre mot de passe vous a été envoyé par mail.\'; Break; }}?\>

";

$Form .= "Login
";

$Form .= "Code ";

$Form .= "</FORM>";

Echo $Form;

}

Else {

Echo 'Bienvenue '.$_SESSION['login'].' !
',

'Vous avez '.$_SESSION['base_coins'].' jetons !';

?>



* Parse error: parse error, unexpected T_BAD_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/free.fr/a/5/simslayer/index.php on line 28
Commenter la réponse de cs_Aaron