Configuration EasyPhp pour les Notices

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 : Configuration EasyPhp pour les Notices

par guilt92 » 12 mai 2006, 20:44

Bah désolé je ne comprend pas. En me basant sur ton code j'ai fait :
<?php
if (isset($_GET["code_adpc"]) && isset($_GET["alloue_prevu"]) ){ 
	 $page = "code_adpc=". $_GET["code_adpc"]." et alloue_prevu=". $_GET["alloue_prevu"]; 
	echo $page;
	}
else echo "rien ne fonctionne";
?>
et avec l'url :

Code : Tout sélectionner

test.php?code_adpc=&alloue_prevu=
J'ai bien un affichage :

Code : Tout sélectionner

code_adpc= et alloue_prevu=
Et aucun notice... Ceci dit si tu as effectivement mis des || dans ton code c'est normal que tu aies les notice car il ne vérifie pas puisque la première condition est vraie... Mais je suppose que tu as testé avec des && et donc c est pas normal...

par Ish » 12 mai 2006, 13:35

De plus les liens des entêtes (pour trier par ordre croissant ou decroissant) fonctionne à merveille !!!

par Ish » 12 mai 2006, 13:33

Ce me rend fou !!

Regarde, je viens de changer mon code !!!
j'ai remplacer le REQUEST par un GET

et voila ma condition :
if ($this->pageActuelle!=NULL || isset($_GET["code_adpc"]) || isset($_GET["alloue_prevu"]) ){
                  
                   $page = $this->pageActuelle .'?filtre='. $_GET["filtre"] ."&tri=$key" ;
                   $page.= '&code_adpc='. $_GET["code_adpc"] .'&alloue_prevu='. $_GET["alloue_prevu"] .'&date_accord_cari='. $_GET["date_accord_cari"] .'&date_demarrage='. $_GET["date_demarrage"] .'&probabilite='. $_GET["probabilite"];  //!\Vérifier si neccessite de filtres
                   $page.= '&nom='. $_GET["nom"] .'&code_commission'. $_GET["code_commission"] .'&code_sous_commission='. $_GET["code_sous_commission"] .'&mode_financement='. $_GET["mode_financement"] .'&code_plateforme='. $_GET["code_plateforme"];
                   $page.= '&code_affaire='. $_GET["code_affaire"] .'&code_sites_note='. $_GET["code_sites_note"] .'&code_metier='. $_GET["code_metier"] .'&type_projet='. $_GET["type_projet"] .'&type_note='. $_GET["type_note"];
                }
Mais il m'affiche quand meme une NOTICE pour le "code_adpc" et le "alloue_prevu" ....

humm huummm .....

ps : j'ai rafraichi la page et redemarrer le serveur EasyPhp !!

par guilt92 » 12 mai 2006, 12:59

Je suis pas sur que le $_REQUEST dans le if soit une bonne idée. Si le register_global est inactif cela ne fonctionnera jamais... :wink:

En le remplacant par un $_GET ca fonctionne chez moi.

par Ish » 12 mai 2006, 12:06

Donc quand je fais ca .... cela m'affiche " toto ", autant de fois que j'ai d'entete.

Il ne passe jamais dans le "ELSE" .... cela ne vient pas du :
 $this->pageActuelle==NULL 
car si je ne met que cette condition .... ou alors si je fais un
 $this->pageActuelle!=NULL
et que j'envoie le code juste apres .... (dans le IF et non dans le ELSE) ... cela marche parfaitement .....
Seulement si il est tout seul ....

Comme si les isset() faisaient tout foiré ...

par Ish » 12 mai 2006, 12:02

Ok ok ok ok ..... voila voila la chose
 
//Affichage de l'entête du tableau 
if (isset($data[0])) { 
foreach($data[0] as $key => $value){ 
//Liens 
if ($this->pageActuelle==NULL || !isset($_GET["code_adpc"])|| !isset($_REQUEST["allou-prevu"]) ){ 
echo "toto"; 
} else { 
$page = $this->pageActuelle.'?filtre='.$_GET["filtre"] 
."&tri=$key" ; 
$page.= '&code_adpc='.$_GET["code_adpc"] 
.'&alloue_prevu='.$_REQUEST["alloue_prevu"] 
.'&date_accord_cari='.$_GET["date_accord_cari"] 
.'&date_demarrage='.$_GET["date_demarrage"] 
.'&probabilite='.$_GET["probabilite"]; 
$page.= '&nom='.$_GET["nom"] 
.'&code_commission'.$_GET["code_commission"] 
.'&code_sous_commission='.$_GET["code_sous_commission"] 
.'&mode_financement='.$_GET["mode_financement"] 
.'&code_plateforme='.$_GET["code_plateforme"]; 
$page.= '&code_affaire='.$_GET["code_affaire"] 
.'&code_sites_note='.$_GET["code_sites_note"] 
.'&code_metier='.$_GET["code_metier"] 
.'&type_projet='.$_GET["type_projet"] 
.'&type_note='.$_GET["type_note"]; 
} 

if (isset($this->tabLibelle[$i]) && $this->tabLibelle[$i] != NULL) 
echo "<th><a href=\"$page\">" 
.$this->tabLibelle[$i]."</a></th>\n"; 
else echo "<th><a href=\"$page\">$key</a></th>\n"; 
$i++; 
} 
} 


J'ai mis un petit peu de forme à tous cela pour que ce soir plus lisible (normal)

mon url devrait etre cela, si je decidais de trier le tableau par "code_adpc"
d'ou le " tri=code_adpc "
Code:
ICI


voilà

par guilt92 » 12 mai 2006, 11:42

fais voir l'url de la page dans le navigateur ainsi que la totalité des conditions du if stp

Configuration EasyPhp pour les Notices

par Ish » 12 mai 2006, 11:38

J'ai fait comme tu as fait, mais ca ne marche toujours pas !!!

J'ai l'impression qu'il n'arrive pas à voir qu'il y aun GET ou alors que la variable GET["variable"] existe bien !!!
car il ne rentre pas dans le "cool" .... ou dans la suite logique de ma programation !!!

par guilt92 » 10 mai 2006, 13:29

Il faut que cela soit des OU mais bon c'est pas le problème... Bah écoute désolé je suis un peu à court d'idées là par contre...

Chez moi je fais une page dans laquelle je met ca :
if (!isset($_GET["code_adpc"]) || !isset($_REQUEST["allou-prevu"])) 
{
echo "pas cool";
} 
else echo "cool";
?>
Je n'ai aucun problème de notice et si je met les mapage.php?code_adpc=1&allou-prevu=1 après l'adresse j'ai le message "cool" sinon j'ai le message "pas cool"...

par Ish » 10 mai 2006, 13:13

nan nan .... j'ai bien
if ($this->pageActuelle==NULL && !isset($_GET["code_adpc"]) && !isset($_REQUEST["allou-prevu"]) 
Nan nan .... mais c'est parceque j'avais mis des OU(||) au lien des ET(&&).
Bref n'empeche que cela ne m'enleve pas les "Notices" ... et qu'il me dit que le code adpc n'est pas défini ...
Donc je reviens à la case départ.

par guilt92 » 10 mai 2006, 12:06

tu n'aurais pas oublié le '!' par hasard :wink:
Le but de ce if est d'inverser les conditions d'ou le ==null et non pas le !=null, donc il faut bien un
!isset($_GET["variable"]) et non pas un isset...

par Ish » 10 mai 2006, 12:02

Ok ok ok .....
on commence enfin à avancer et plus reculer

j'ai mis dans ma premiere boucle (le " IF ") un :
[phph]echo "toto";[/php]
et dans le "else", j'ai mis le code normale ...
eh bien cela m'affiche toto le nombre de fois que j'ai d'entête ....

Donc il ne rentre pas dans le " IF " ...... cela ne vient pas du
$this->pageActuelle==NULL
car si je mets juste cette condition, cela passe normale mais il y a les " Notices "
Donc quand je fais les
isset($_GET["variable"])
c'est donc faux ....

aaahhh lalala ..... qué passa seignor ?

par guilt92 » 10 mai 2006, 11:29

La c'est normal que ça ne marche pas tu appelles la condition !isset cela veut dire que si ta variable est définie il rentre pas dans la boucle.

Sinon mon idée pour tenter de résoudre le problème était de faire un if {} else {} pour tout ton affichage, même par exemple :
if(!isset($_GET["filtre"])||!isset($_GET[...])||$this->pageActuelle==NULL)
{
}
else {
 $page = $this->pageActuelle.'?filtre='.$_GET["filtre"]."&tri=$key" ; 
             $page.= '&code_adpc='.$_GET["code_adpc"] 
                         .'&alloue_prevu ='.$_REQUEST["alloue_prevu"] 
                         .'&date_accord_cari='.$_GET["date_accord_cari"] 
                         .'&date_demarrage='.$_GET["date_demarrage"] 
                         .'&probabilite='.$_GET["probabilite"]; // c'est juste pour la mise en forme 
        if (isset($this->tabLibelle[$i]) && $this->tabLibelle[$i] != NULL) 
            echo "<th><a  href=\"$page\">".$this->tabLibelle[$i]."</a></th>\n"; 
         else echo "<th><a  href=\"$page\">$key</a></th>\n"; 
                $i++; 
    }
}
Comme ca si les variables ne sont pas définies (!isset) tu rentres dans le if, par contre si elles sont définies tu entres dans le else et la tu devrais ne pas avoir de probleme de notice mais bon faut tester...

par Ish » 10 mai 2006, 11:18

nan ca ne marche pas !!!

C'est le meme probleme
if (isset($data[0])) {
    foreach($data[0] as $key => $value){

        if ($this->pageActuelle!=NULL && !isset($_GET["code_adpc"])) {
             $page = $this->pageActuelle.'?filtre='.$_GET["filtre"]."&tri=$key" ;
             $page.= '&code_adpc='.$_GET["code_adpc"]
                         .'&alloue_prevu ='.$_REQUEST["alloue_prevu"] 
                         .'&date_accord_cari='.$_GET["date_accord_cari"] 
                         .'&date_demarrage='.$_GET["date_demarrage"]
                         .'&probabilite='.$_GET["probabilite"]; // c'est juste pour la mise en forme
         }
        if (isset($this->tabLibelle[$i]) && $this->tabLibelle[$i] != NULL)
            echo "<th><a  href=\"$page\">".$this->tabLibelle[$i]."</a></th>\n";
         else echo "<th><a  href=\"$page\">$key</a></th>\n";
                $i++;
    }
}
J'ai mis le texte en forme pour qu'il soit plus lisible, sinon il est bien écrit.

Voila ... ma partie de fonction ...

Lorsque je passe avec ma souris sur le lien (entête de tableau pour l'afficheren ordre croissant), sans les isset(), je vois bien que le tri se fait sur l'entete demandé et toute les variables GET sont là, car c'est affiché dans la barre d'état juste au dessus de la "Toolbars" ...
Alors que quand je met la condition avec les "isset()", sur cette même barre d'état, je ne vois plus rien, du moin je vois qu'il m'envoie vers ma page principale (normale) mais sans les tris et les variables GET

par Ish » 10 mai 2006, 10:13

Ok ok ok ... je comprend ... je vais essayer de contourner le probleme ...!!!
Je teste la techtoche