Problème de variable...

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 : Problème de variable...

par Cyrano » 25 juin 2006, 17:57

Effectivement, session_register() est l'ancienne méthode et en déclarant $_SESSION['pseudo'] = $_POST['login'], tu n'as pas besoin de déclarer à nouveau cette variable de session.

J'ajoute qu'on n'enregistre jamais un mot de passe dans une variable de session. Techniquement, c'est valide, mais en matière de sécurité, c'est tout à fait excécrable et, en plus, ça ne sert à rien.

par jobi1722 » 25 juin 2006, 17:26

Salut,

je crois que le session_register ne sert plus à rien...

++

par neymir » 25 juin 2006, 17:05

Pareil pour les session()
Avant ca marcher comme ca:
session_start();
$pseudo = $_POST['login'];
$pass = $_POST['pass'];

session_register("pseudo", "pass");
Maintenant je dois faire ca:
session_start();
$_SESSION['pseudo'] = $_POST['login'];
$_SESSION['pass'] = $_POST['pass'];

session_register("pseudo", "pass");
L'hebergeur aurait dût prévenir non? :?

par jobi1722 » 25 juin 2006, 16:49

Salut,

oui :)

par Invité » 25 juin 2006, 16:48

Merci beaucoup ca marche maintenant, c'était bien $_GET['p']. Ca doit faire pas longtemp que ca a changer sur mon serveur car il y a une semaine c'était encore bon.

Ils font ca par sécuritée je pense?

par jobi1722 » 25 juin 2006, 16:44

Salut,

la variable p n'existe pas !!! C'est la variable $_GET['p'] !!!
La variable register_globals est maintenant à OFF pour la plupart des serveurs

Sinon la solution est de mettre error_reporting(0)... Et laissez les erreurs quand tu est en local.

Perso je met ça :

Code : Tout sélectionner

if(ereg('127.0.0.1',$_SERVER['REMOTE_ADDR'])){ error_reporting(E_ERROR|E_PARSE|E_COMPILE_ERROR); }else{ error_reporting(0); }
dans un fichier commun...

++

par neymir » 25 juin 2006, 16:38

Le problème c'est qu'il ne devrait pas y avoir d'erreur, vue que la variable $p est défini dans l'URL non? Du moins j'ai toujours fait comme ca et je ne comprend pas pourquoi ca me rapporte une erreur maintenant.

Le E_NOTICE ne pas afficher cette erreur.

J'ai essayer sur un compte sur hebserv.net, sur mon local, et sur un compte 123.fr, et a chaque fois ca fait une erreur, soit ca le dit, soit ca ne dit rien mais ca n'execute non plus pas le script.

Il n'y a que sur un compte free que ca fonctionne, le probleme c'est que mon site n'est pas chez free.

par jobi1722 » 25 juin 2006, 15:42

Salut,


Attention une adresse en 127.0.0.1 n'est accessible qu'en local !!!

Ton problème vient du changement du niveau de rapport d'erreur avec EasyPHP.

Si tu veut supprimer cette erreur tu dois retirer E_NOTICE des erreurs à afficher dans la configuration d'apache ou utiliser la fonction http://fr2.php.net/error_reporting.


++

Problème de variable...

par Invité » 25 juin 2006, 14:44

Bonjour, j'ai un gros problème, ca m'est jamais arrivé, je classe ca niveau débutant car c'est un script tout simple qui ne fonctionne pas.

Sur un compte Free je met ce script (test.php):
<?php

if($p > 0)
{
$page = $p ;
}

echo $page;
?>
En allant à l'adresse .../test.php?p=2

J'obtient:
2
Jusque là c'est logique non?

Met le même script que je met sur un autre hebergeur ou alors même sur mon pc en localhost, j'obtient:
Notice: Undefined variable: p in c:\program files\easyphp1-8\www\test.php on line 3

Notice: Undefined variable: page in c:\program files\easyphp1-8\www\test.php on line 8
En allant à cette adresse: http://127.0.0.1/TEST.php?p=1

Vraiment je ne voit pas comment faire, et d'ou ca peut venir... Un autre script qui est sur le meme serveur? même si il n'est pas pris en compte dans ce script là?