Pb php

Fermé
Arnaud - 14 janv. 2005 à 16:27
 Arnaud - 16 janv. 2005 à 22:20
Bonjour à tous,

J'ai une question (une de plus), voici les erreurs que j'ai:

Notice: Undefined variable: login in c:\program files\easyphp\www\lfb\espacemembre\accueilprivate.php on line 3

Warning: Unable to jump to row 0 on MySQL result index 2 in c:\program files\easyphp\www\lfb\espacemembre\accueilprivate.php on line 4

Elles correspondent au texte suivant:

<? include('verifsession.php');
include('sql_connect.php');
$req=mysql_query("select pseudo from membres where login='$login'");
$_POST["pseudo"]=mysql_result($req,0,"pseudo");
?>
<html>
<head>
<title>Accueil membre</title>
<SCRIPT LANGUAGE="JavaScript1.1">
function right(e)
{var msg = "Le vol est interdit chez moi";
if (navigator.appName == 'Netscape' && e.which == 3){alert(msg);}
else if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2){alert(msg);}return true;}
document.onmousedown = right;
</SCRIPT>
<script LANGUAGE="JavaScript" FOR="window" EVENT="onload()">
parent.status = ('LFB Promotion 2002')
</script>
<link rel="stylesheet" type="text/css" href="Logo/sommaire.css">
</head>

<body bgcolor="#E7E7CF" text="#000000">
<div align="center">
<p><b><font size="3" face="Arial">Bonjour <? echo $_POST["pseudo"] ?></font></b></p>
<p align="justify"><font face="Arial">Vous êtes un membre privilégié. C'est le
webmaster qui l'a décidé (et contrairement à ce que vous pouvez croire, ce n'est
pas le hasard ni le cas de tout le monde). Pour le moment cela ne vous avance à
rien mais bientôt, vous aurez accès à des parties du site que les autres ne
verrons sûrement jamais. Photos, vidéos, etc... Les membres comme vous, je les
compte sur les doit d'une main!!!</font></p>
<p><a href="modifperso.php"><font size="3" face="Arial">Modifier ses données personnelles (autoriser la publication dans la
liste des membres)</font></a></p>
<p><a href="deconnexion.php"><font size="3" face="Arial">Se déconnecter</font></a></p>
</div>
</body>
</html>

De plus le pseudo ne s'afiche pas après le Bonjour...

Qu'en pensez-vous?

Merci encore et toujours,

Arnaud
A voir également:

23 réponses

Utilisateur anonyme
14 janv. 2005 à 16:40
Il sort d'ou ton $login ?
C'est ta requete qui ne te recrache aucun résultat.

Kalamit,
Y'a pas de fumée sans pneus.
0
tosty Messages postés 16 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 13 juin 2005
14 janv. 2005 à 17:02
comment fonction verifsession.php ? et où sont les variables de fomulaire des la page précédente ?
Si tu veut gerer tes session proprement un conseil utilise les outils aproprier:

session_start();
$_SESSION['visiteur'] =... variable rendu par ton formulaire

comment sa $_SESSION['visiteur'] garde le nom de la personne qui s'est identifier.


bon courage, tosty
0
Tout d'abord merci,

Pour vous répondre, $login vient de la page d'avant.

Par contre je n'ai pas compris où et de quelle manière je dois utiliser la fonction que vous me donnez pour résoudre le problème:

session_start();
$_SESSION['visiteur'] =... variable rendu par ton formulaire

Arnaud
0
tosty Messages postés 16 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 13 juin 2005
14 janv. 2005 à 17:37
en fait si j'ai bien compris ton cas tu perds le nom de la personne connecté a la page suivant donc pour sa il faudrai par exemple que tu remplaces :
...
$_POST["pseudo"]=my...

par
session_start();
$_SESSION['visiteur'] =my...

comme ca la variable $_SESSION['visiteur'] concervera toujours le nom de la personne qui s'est au préalable identifié.
Pour plus de détails je te conseil cette page elle devrai repondre a pas mal de tes intérogation sur la question:
http://www.lephpfacile.com/cours/index.php?p=19

tosty
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci beaucoup,

J'ai essayé mais le problème n'a pas changé. je ne sais pas si ça change quelque chose, mais j'avais déjà

session_start();
session_register('login');

Sur la page d'avant... donc ça devrait continuer en arrivant sur la page suivante non?

Arnaud
0
Merci beaucoup,

Grce à ton site j'ai enfin compris quelque chose au php:
il manquait
if (isset($_SESSION['login']) && isset($_SESSION['pwd']))
a ma page... Maintenant tout marche...
Merci!!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 18:06
Ca dépend. Si on pouvait se connecter sur la page d'avant en anonyme, la session n'avait peut être pas encore commençé. Le session_start() est à mettre sur toutes les pages qui peuvent acceuillir un membre connecté, comme ça il le restera durant toute sa visite sur le site.
Ensuite plutôt que d'écrire session_register('login') pour transformer la variable $login en variable session (c'est à dire pouvoir la faire passer de page en page), utilise plutôt:
$_SESSION['login']=$login   

Et tu la récupèreras dans $_SESSION['login'] dans la prochaine page si elle commence par session_start()
Cette methode fonctionnera indépendamment de certaines configurations de php qui diffèrent d'un serveur à un autre.
http://fr2.php.net/manual/fr/function.session-register.php
Ca te fera un problème en moins qui t'évitera de t'embourber avec différentes versions d'easy php ;-)

Et c'est la même chose avec $_POST['login'] ou $_GET['login'] selon les cas (on en a déjà parlé) pour récupérer une variable d'un formulaire. Si tu utilises $login pour récupérer ta valeur, ça ne marchera pas selon certaines configurations, tandis que la variable $_POST ou $_GET fonctionnera toujours (sauf peut être avec les très vieilles versions de Php mais je ne pense pas que tu sois concerné...)

PS: C'était une réponse au message 4 mais j'ai été un peu lent.... :-)

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
Ok! Merci! Cette fois j'ai compris et j'ai plus d'erreur...
Maintenant j'ai plus que cette erreur à régler:

Notice: Passing locale category name as string is deprecated. Use the LC_* -constants instead.

concernant la ligne

$loctime=setlocale("LC_TIME","$lang");

Je continue de chercher... Si quelqu'un a de son côté une suggestion...

merci encore et toujours,

Arnaud
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 19:04
Essaie:
$locale=setlocale(LC_TIME,"fr");

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
Ben j'ai trouvé la solution de mettre un @ devant... Car ta solution me renvoie le même problème... Su un forum, on disait qu'en cas de problème il fallait remplacer LC_* par une constante... MAis je ne sais pas comment...

Quoi qu'il en soit j'ai un message interne au forum (que le dévelopeur a créé) qui me dit que j'ai changé des urls... Mais pourtant j'ai fait un copié collé des répertoires... Même si je réinstalle le code source c'est pareil...

Qu'en pensez-vous?

Arnaud
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 19:18
Même en faisant un réinstalle vierge?

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
Oui... Alors qu'il fonctionne très bien sous multimania...

Aparemment le code qui ne passe pas est celui-ci:

//URL check: no arguments passed in the url
if(sizeof($HTTP_GET_VARS)!=0){
print("<b>$talk[42]</b>");
exit();
}
0
J'ai essayé d'enlever ce code, la page s'affiche, mais j'ai toute une série d'erreur:

Warning: Accès refusé pour l'utilisateur

Warning: MySQL Connection Failed

Warning: MySQL: A link to the server could not be established
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 19:37
Il faut configurer tes identifiants de base de donnée (host, login et pass).
Ils sont sûrement dans un fichier à part avec un nom du genre config.php

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
C'est fait. Maintenant j'ai:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

(et j'en ai une bonne tripotée)

Arnaud
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 20:07
Raaaahhh :-D
Tu es certain d'avoir importé ta base données? Certains d'avoir le même nom pour ta base de données?


Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
En fait, je viens de lire un truc, comme quoi quand tout est concentrer en une base, il expliquer au code celles qui lui appartiennent, et les autres... Donc en gros, il parle de mettre un préfixe.

donc ma base c'est arnaudsalley_db et le préfixe de mes deux tables est forums. J'ai donc entré arnaudsalley_db.forum mais mes forums n'apparaissent pas. Par contre la page apparait (avec toujours des undefined index sur lesquels je suis en train d'essayer de travailler, mais c'est long y en a beaucoup...)

Arnaud
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2005 à 20:20
Hmm, le préfixe, tu peux le configurer dans une page de config quelque part?

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0
Ben justement, je viens juste de le faire...
Et ca marche... On avance...
Par contre quand je clique sur le forum, rien ne se passe...
Je dois encore avoir des problèmes de undefined variable... C'est possible que ce soit ca? Au quel cas comment le savoir?

Ce qui est embettant, c'est que je viens de transformer les undefined variable en undefined index... ON me l'a deja dit 100 fois... Je sais... Mais desfois les u.i. partent une fois que tous les u.v. sont réglés... mais pas là... Il doit y avoir des u.v. qui ne s'affichent pas en probleme... C'est possible? ou j'ai une fois de plus rien compris et je melange tout?

Arnaud
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 janv. 2005 à 21:35
Re,

C'est quoi les u.i. et les u.v. ?
Sinon je suis repassé un ptit instant sur ton forum et tu as un gros paquet de undefined index. Toujours ces problèmes de sessions ou post?

Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
0