Se connecter / S'enregistrer
Votre question

souci undefined index avec $_POST et compagnie... sous php4>

Tags :
  • Easyphp
  • Programmation
Dernière réponse : dans Programmation
23 Avril 2005 16:33:39

Bonjour,
Je ne comprend pas je viens d'importer un projet sur mon pc, j'utilisais easyphp 1.7, j'ai installer la 1.8, et j'ai l'erreur suivante (Undefined index) des que j'utilise un $_POST, $_GET ou encore $_SESSION??

La version de php doit normalement supporté ceci!!

J'ai egalement cette erreur: Undefined offset.

C'est incomprehensible j'ai tjrs utiliser ces variable depuis la version 4 de php

Avez vous des idées??

Autres pages sur : souci undefined index post compagnie php4

23 Avril 2005 16:35:29

Ca veut dire que la variable n'existe pas , fait le teste :
  1. if(isset($_GET['nom_var']))$var = $_GET['nom_var'];

La fonction isset renvoi true si la variable entre paranthèses existe !
@+
23 Avril 2005 16:43:38

disons que mes variable sont souvent vide, je fais d'ailleurs des isset avant... mais ce qui est très étrange c'est que j'ai développer mon projet, tout fonctionne sur le serveur apache et php que l'on a mis à ma disposition, mais avec easyphp 1.8 ça ne fonctionne pas...
c'est vrai que je fais un echo d'une $_session par exemple, et elle est vide, c'est surement pour cela que j'ai cette erreur....
Avez vous des proposition pour contourner cela a part des isset == true a chaque car ça risque d'etre tres long pour moi de tout reprendre
23 Avril 2005 17:00:10

Tu es sûr que la session est bien démarrer avec <? session_start(); à la première ligne et que la variable session est enregistrer : if(session_is_registered("nom_session"))

Sinon ça vient peut-être de easyphp qui est mal configurer !
@~+
23 Avril 2005 17:13:12

oui oui le session start est bien lancé, mais le truc c'esy que ça le fait aussi avec les $_GET et $_POST...

Comment easyphp pourrait etre mal configuré? je viens de l'installer ce que je peux te dire c'est que je le fais tourner avec Postgresql. J'ai donc du enlever le ; devant extension=php_pgsql.dll du php.ini
23 Avril 2005 17:41:01

ce qui est super étrange c'est que par exemple je fais if($_SESSION['admin']==true) il me renvoie l'erreur : Undefined index: admin in... alors qu'elle est à false. Qd elle passe à true je n'ai plus cette erreur...

Toujours en restant dans l'optique que mon projet fonctionne nikel sur un autre serveur, sur ma machine avec easy php, j'ai aussi ceci:
Notice: A session had already been started - ignoring session_start() in...
Bref pas mal de truc assez etrange entre ces deux versions:
Celle ou ça fonctionne la version de php est la 4.2.2, et celle de easyphp 1.7 : 4.3.3


23 Avril 2005 18:42:10

montre un peu ton code un bout de code vaut mieux qu'un long discour
23 Avril 2005 18:48:51

Configuration : Configuration EasyPHP
et google : GOOGLE

Et oui c'est vrai que se serait pas mal si tu nous montres un bout du code : le début, le niveau de l'erreur et la fin :-P
@+
23 Avril 2005 18:49:49

ouais si tu veux...

if (isset($_POST['b_unset'])==true)
{

.....
}
else
{

$nom_promo=$_POST['ld_promo2'];
$nom_spe=$_POST['ld_spe2'];
$nom_opt=$_POST['ld_opt2'];
}

dans mon cas lorsque je charge ma page cela passe direct au else car il n'y pas pas eu de clic sur le bouton qui renvoie true (isset($_POST['b_unset'])==true).
j'ai 3 erreurs au niveu du else :
Notice: Undefined index: ld_promo2 in ...
Notice: Undefined index: ld_spe2 in ...
Notice: Undefined index: ld_opt2 in ...
Je sais qu'au premier affichage ces $_POST sont vides!! Mais cela fonctionne sur un autre serveur!!
23 Avril 2005 18:53:31

Bai c'est la même erreur qu'avant tu dois faire pour chaque variable :
  1. if(isset($_POST['Id_promo2']))$nom_promo=$_POST['Id_promo2'];

Si avec ça , ça marche alors c'est cela le problème !
Moi aussi j'avais eu des problèmes de ce genre en changant d'hébergeur !
@+
23 Avril 2005 18:54:42

bon d'une part
  1. <?if (isset($_POST['b_unset'])==true)?>

c'est mauvais. ca sufit:
  1. <?if (isset($_POST['b_unset']))?>


bon apparement c'est une différence de configuration je pense t'es erreur mais bon faut toujours vérifié que des entrée soit valide
edit: griller
23 Avril 2005 19:10:17

effectivement le fait d'ajouter un if(isset()) avant d'affecter la valeur à une variable enleve l'erreur!

Il me reste à le faire pour tout le projet, en esperant que tout fonctionnera normalement!

ps: if(isset()==true) est tres correct!!!
23 Avril 2005 19:13:50

Oui if(isset()==true) est correct mais le true ne sert à rien, il suffit de mettre if(isset()) et c'est bon !
@+
23 Avril 2005 19:21:48

c'est inutile donc mauvais ;-)
23 Avril 2005 19:38:00

donc je viens de passer pas mal de temps à rectifier ces erreurs, mais il y en a enormement dont d'autre que je n'arrive pas à corriger...

Cela je pense doit bien venir de la version php!! Est ce que je peu seulement intaller une autre version de php sur easyphp c'est à dire la 4.2.2
Ou alors est que il y a certaines chose à modifier dans le php.ini??
23 Avril 2005 21:02:42

c'est quoi t'es erreur??? il y a peu de chance que cela vienne de php
23 Avril 2005 21:11:04

Undefined offset: par exemple sur un tableau... le code :
if($occupe[$ligne][$colonne]==0)

Le PHP-SELF dans mon formulaire lorsque j'appelle action=$_SERVER['PHP-SELF']
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS