Ouvrir une session en local

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 : Ouvrir une session en local

par DanArBlaz » 31 mars 2009, 15:39

Merci Ryle...

Donc, j'ai retrouvé ces deux lignes sur la copie online, j'ai dû les effacer quand j'essayais de faire tourner le site en local :oops:

Je pose une dernière question, après je vais me sentir obligé de vérifier si le ridicule ne tue pas...
define('COOKIE_NAME', 'mon-cookie');
define('COOKIE_DOMAIN', 'mon-ndd');
A priori, mon-ndd je le remplace par 'localhost' vu que je travaille sur http://localhost/ ?
Bon si bien ça... mon problème d'identification vient d'ailleurs...

par Ryle » 31 mars 2009, 15:07

Le message d'erreur indique que tu utilises la constante COOKIE_NAME alors que celle-ci n'est pas définie, et va donc considéré qu'il s'agit non pas d'une constante, mais de la chaine "COOKIE_NAME".

Logiquement, il te faudrait donc quelque par un define('COOKIE_NAME', 'nom_du_cookie') pour éviter l'avertissement, mais à la limite, celui là n'est pas bien grave.

En revanche, si la constante COOKIE_DOMAIN que tu utilises dans le setcookie n'est pas définie, php va tenter de créer un cookie associé au domaine "COOKIE_DOMAIN" au lieu du nom de domaine du site, ou en l'occurence de ton installation locale, chose qu'il ne doit pas pouvoir faire...

De même si cette valeur est renseignée, mais n'est pas correcte, alors le cookie ne pourra être ajouté/lu.

Il faudrait donc probablement aller jeter un oeil aux fichiers de paramétrage/constantes/configuration/chépaquoi de ton site et vérifier si ces constantes sont bien définie et surtout si leurs valeurs sont correctes :)

par DanArBlaz » 31 mars 2009, 14:38

ça tombe bien, je me demandais justement ce que vous pensiez de ce code, vu que je n'ai pas les compétences pour le juger et que je dois recruter quelqu'un.

sinon Elie, tu aurais pu mieux faire pour répondre au "problème qui s'affiche" en me conseillant ça :
ini_set('display_errors', false);
:wink:

Je vais attendre un nouveau développeur pour résoudre mes petits soucis.
Merci en tout cas pour ce forum :)

par Elie » 31 mars 2009, 11:25

Bah après j'ai répondu au probleme qui s'affiche mais dans le fond, je trouve ton code très moche :)

par DanArBlaz » 31 mars 2009, 10:16

Merci Elie pour ta réponse, j'y vois déjà plus clair...

Je vais être casse-pieds mais il y a quelque chose que je ne comprends pas. En local, j'ai une stricte copie du site online et lorsque je me logg sur le site online et que je vais voir mes cookies, j'ai bien le cookie avec un nom que nous avions donné à l'époque.

Si je prends ce nom et que je fais une recherche dans tous les fichiers de mon site offline, impossible de le retrouver ... même en cherchant cookie_name, il ne trouve pas le nom qui définit cette variable... pourtant en ligne il existe bien... Y comprenez-vous quelque chose ?

J'ai quand même essayer la méthode d'Elie, les erreurs en effet ne s'affichent plus mais je n'ai toujours pas moyen de me logger... Il n'y a pas d'erreurs d'affichées mais je suis renvoyé vers la page d'inscription...

par Elie » 31 mars 2009, 01:53

En gros COOKIE_NAME est une variable GLOBAL qui aurait du être renseigné du genre
$_GLOBAL['COOKIE_NAME'] = 'identification;
par exemple ...

Mais bon pour faire simple tu peux remplacer dans ton code COOKIE_NAME par : 'identification' (avec les ')

par DanArBlaz » 30 mars 2009, 18:34

avec plaisir... c'est à dire que je saisis mon pseudo et mon mot de passe, que je valide et que le serveur me renvoie vers la page d'inscription comme si je m'étais trompé ou que le compte n'existait pas...

Mais tu m'as fait penser à afficher les erreurs ! (alleluiah j'ai vraiment pas les réflexes de base...)

Déjà j'en sais un peu plus, le problème vient du fichier 'start.php' et ça a l'air de bloquer au niveau des cookies.

Dès que j'arrive sur le site, sans me logger, le serveur affiche le site mais renvoie
Notice: Use of undefined constant COOKIE_NAME - assumed 'COOKIE_NAME' in D:\Program\Wamp\www\config\start.php on line 54
A la ligne 54 dudit fichier, j'ai une boucle de récupération de cookie si j'ai bien compris le commentaire :)
if (empty($_SESSION['id_naute'])) :
	if (isset($_COOKIE[COOKIE_NAME])) :
		$_SESSION['id_naute'] = '';
		$c = unserialize($_COOKIE[COOKIE_NAME]);
		if ($c!==false && count($c)==4 && $c[2]===md5($_SERVER['HTTP_USER_AGENT'])) :
			$s = Naute::get($c[1]);
			if (sha1('*****'.$s->motdepasse.'*****')===$c[3].$c[0]) :
				$_SESSION['id_naute'] = $s->id_naute;
			endif;
		endif;

		if ($_SESSION['id_naute']=='') :
			setcookie(COOKIE_NAME, serialize(array()), time()-3600, '/', COOKIE_DOMAIN);
		endif;
	else :
		$_SESSION['id_naute'] = '';
	endif;
endif;
(désolé j'ai modifié les ['id_***naute'] pour éviter les indexations google)

Et si je fais comme si de rien n'était et que je tente de me logger, le serveur me répond :
Notice: Use of undefined constant COOKIE_NAME - assumed 'COOKIE_NAME' in D:\Program\Wamp\www\config\start.php on line 54

Notice: Use of undefined constant COOKIE_NAME - assumed 'COOKIE_NAME' in D:\Program\Wamp\www\pages\session\connexion.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at D:\Program\Wamp\www\config\start.php:54) in D:\Program\Wamp\www\pages\session\connexion.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at D:\Program\Wamp\www\config\start.php:54) in D:\Program\Wamp\www\classes\Redirection.php on line 13
En espérant qu'il y a des indices exploitables, dans tout ceci et merci pour votre aide !

par Ryle » 30 mars 2009, 17:40

Est-ce que tu peux préciser un peu plus le "impossible de me logger en local" ? :)

C'est l'accès au site sur ton serveur local qui ne fonctionne pas ?
C'est l'authentification sur le site qui pose problème ?
Tu as une page ou un message d'erreur ?

Ouvrir une session en local

par DanArBlaz » 30 mars 2009, 17:27

Bonjour et merci pour ce forum!

Je suis dans un cas de force majeur et je crois que cela va être difficile de me sortir de ce pétrin.
Pour faire simple, je suis intégrateur sur un site dynamique et je travaillais avec un développeur PHP. Ce dernier a eu de gros soucis qui l'obligent à arrêter le dev. Je me retrouve donc tout seul avec très peu de connaissances en PHP. Le site comprend un espace personnel pour les membres en plus des pages publics.

J'ai besoin de ré-arrangé certaines parties du site. Pour ce faire, j'ai installé wamp et commencé à le faire tourner en local. (J'ai déjà eu du mal avec le .htaccess, c'est dire #-o)

Le site tourne, le PHP échange correctement avec la BDD sauf que... impossible de me logger en local.

J'ai vérifié la base de données, les champs sont bons. le .htaccess n'a pas l'air de poser problème non plus.
Le site a été développé par nos soins, j'ai beau aller dans les classes voir ce qui se trame, je n'en pige pas une. Je ne m'occupais finalement que de l'appel des fonctions...

C'est sans grand espoir que je vous demande si vous avez déjà connu des cas similaires et si vous avez une petite idée ?

Merci.