Tom's Guide > Forum > Programmation > souci undefined index avec $_POST et compagnie... sous php4>

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

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

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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??

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Ca veut dire que la variable n'existe pas , fait le teste :

Code :
  1. if(isset($_GET['nom_var']))$var = $_GET['nom_var'];


La fonction isset renvoi true si la variable entre paranthèses existe !
@+

Répondre à Riri@IDN

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

Répondre à imer@IDN

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 !
@~+

Répondre à Riri@IDN

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

Répondre à imer@IDN

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


Répondre à imer@IDN

montre un peu ton code un bout de code vaut mieux qu'un long discour

Répondre à Zer0@IDN

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
@+

Répondre à Riri@IDN

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!!

Répondre à imer@IDN

Bai c'est la même erreur qu'avant tu dois faire pour chaque variable :

Code :
  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 !
@+

Répondre à Riri@IDN

bon d'une part

Code :
  1. <?if (isset($_POST['b_unset'])==true)?>


c'est mauvais. ca sufit:

Code :
  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

Répondre à Zer0@IDN

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!!!

Répondre à imer@IDN

Oui if(isset()==true) est correct mais le true ne sert à rien, il suffit de mettre if(isset()) et c'est bon !
@+

Répondre à Riri@IDN

c'est inutile donc mauvais ;-)

Répondre à Zer0@IDN

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??

Répondre à imer@IDN

c'est quoi t'es erreur??? il y a peu de chance que cela vienne de php

Répondre à Zer0@IDN

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']

Répondre à imer@IDN
Tom's Guide > Forum > Programmation > souci undefined index avec $_POST et compagnie... sous php4>
Aller à :

Il y a 2692 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens