encore register_globals

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 : encore register_globals

awwwwwwwwww!!!!

par knops » 26 févr. 2006, 19:50

pour sa faut voir avec bill gates......tu veut son adresse :?: :?: :langue: ....non sérieux!!!

par HD » 26 févr. 2006, 19:47

moi j'ai besoin du code source de windows xp si tu l'as :!:

MERCI!!!!!!!

par knops » 26 févr. 2006, 19:41

Merci too much les mecs car grace à vos conseilles j'ai pû corriger tout mes scriptes .....encore merci ...et parceque je suis heureux j'odffe a celui qui veut ...(pas plus de 3 persones, 1 cd chaqu'un ) tout les cd que vous désirez .soit jeux ou logiciel etc......encore merci

par Cyrano » 24 févr. 2006, 23:12

$sql.=" Limit ". $_GET['debut'] .", ". $limit .";";// c'est juste oui

rerererer

par knops » 24 févr. 2006, 23:09

y'a pas d'autre moyen d'écrire sa??????

$sql.=" Limit $_GET['debut'],$limit ";// c'est juste??????????? 

rerere

par knops » 24 févr. 2006, 22:25

sa marche pas :?:

Re: rere

par iclo » 24 févr. 2006, 22:24

c'est juste???????????
testes ;) ;)

rere

par knops » 24 févr. 2006, 21:31

$sql.=" Limit $debut,$limit ";  
donc devient
$sql.=" Limit $_GET['debut'],$limit ";// c'est juste???????????

par iclo » 24 févr. 2006, 21:21

Toutes les variables doivent être récupérées en fonction de leur origines:
- si elles sont transmises par l'url par $_GET
- si elles sont transmises par un formulaire en "method post" par $_POST

re

par knops » 24 févr. 2006, 21:15

$limit=1; //nombre de résultat afficher par page  ici 1 par defaut 
if(!isset($debut)) $debut = 0; // ici  $debut=0 
$sql.=" Limit $debut,$limit ";   // requête limitante, qui récupére $debut et $limit
echo "<a href=resultats.php?recherche=$recherche&debut=".($debut + $limit).">Page Suivante</a>"; //Page Suivante  
le problème c'est que la variable $debut envoyé par le lien qui additionne $debut+$limit
debut=".($debut + $limit)."
n'est pas récupérer par la requéte limitante en haut .....et je comprend pas pourquoi?

re

par knops » 23 févr. 2006, 21:02

Salut j'ai corrgié grace a vos réponces toutes les erreurs de déclaration de variables sur mon moteur de recheche ( qu'est ce que je me suis fait emmerder) MERCI LES MECS, mais reste un seul petit problème, et c'est le suivant:
mon moteur de recherche utilise la pagination, donc le critére de sélection -Limit- utilise 2 variables $debut et $limit
qu'il récupére d'un formulaire, par exemple si je cherche avec le mot clé / Dire straits / $debut=0 par defaut et avec $limit=1 donc 1 résultat pas page ma requéte avec un echo affiche:
select * from matable where recherche like "%Dire straits%" Limit 0,1  //ici 0 est $debut et 1 est $limit
voici la partie du script qui s'occupe de l'affichage de la barre de navigation -suivant- -precèdent-:
if(!isset($debut)) $debut = 0; // ici la $debut=0
     $sql.=" Limit $debut,$limit ";   // requête limitante, qui récupére $debut et $limit
     $nombre=ceil($nrows/$limit);

        if($debut>0) 

            {
     echo "<a href=resultats.php?recherche=$recherche&debut=".($debut - $limit).">Page Précédente</a> ";//Page Précédente 
            }            
        
        if ($nombre>1) 
            {
            for($i=1; $i<=$nombre; $i++)
                {
     echo "<a href=resultats.php?recherche=$recherche&debut=".(($i-1)*$limit).">".$i."</a> ";//on affiche le nombre de pages
                }
            }
        if(($debut+$limit)<$nrows)
            {
     echo "<a href=resultats.php?recherche=$recherche&debut=".($debut + $limit).">Page Suivante</a>"; //Page Suivante
            }

si la page de résultat trouve plus d'une réponce 2 par exemple, un lien -suivant- s'affiche en bas de la recherche pour afficher l'autre résultat, car come vous avez vue au dessus le lien Page Suivante envoie des variables dont $debut et $limit comme ceci,debut=".($debut + $limit)." ici j'additionne $debut et $limit puisque $debut=0 et $limit=1 donc
debut=1 et ceci affiche:
  select * from matable where recherche like "%Dire straits%" Limit 1,1 //l'affichage du 2émme résultats 
sa fonctione sur easy php 1.6 mais pas sur le 1.8 et je ne comprend vramient pas pourquoi? c r quand je click sur le lien suivant il ne ce passe rien et la requéte reste toujour avec les même -limit- Limit 0,1 alor quelle devrait changé car le lien page suivante additione $debut + $limit

par iclo » 22 févr. 2006, 01:45

Tu dois tester et utiliser la variable transmise soit par get soit par post.
if (isset($_POST['variable']))  $var = $_POST['variable'];

else if (isset($_GET['variable']))  $var = $_GET['variable'];


//Si après ces deux instructions la variable n'est pas affectée, et bien c'est //qu'on n'a rien reçu ni par poste, ni par get.
if (! isset($var))
   print "pas de variable reçue";
else
   print "variable reçue";

re

par knops » 21 févr. 2006, 20:37

mon moteur de recherche comporte 2 pages la premiére contient un fomulaire avec des champs et la deuxiéme comporte le moteur en soit, sur cette page je récupére les variables comme ceci, example d'une variable recupérer:

$limit="$app"; //avant la correction
 $limit=$_POST['app']; //aprés la corréction
comme vous voyer (aprés la correction) sa marche mais seulement sur la premiére page de ce qu'affiche le moteur de recherche car mon moteur utilise la pagination, si par example mon moteur trouve 10 résultats et que j'affiche 5 par page alors un lien - suivant - s'affiche pour visualiser les 5 autre résultats et la est tout le problème, car ce lien -suivant-
transmet des variables les même que ceux dans la page du formulaire, exemple:

Code : Tout sélectionner

<a href=resultats.php?recherche=$recherche&operateur=$operateur&app=$app&debut=".($debut+$limit).">suivant</a>
Notice: Undefined variable: app in x:\xxxx\xxx.php on line xx //example d'erreur pour la $app

dés l'affichage des résultats trouvée tout les liens qui doivent envoyé des variables sont indiqué comme:

Notice: Undefined variable

donc quand je transfer des variables par formulaire j'utilise (post) mais pour les liens (GET), mais sur mon script j'utilie le $_POST pour récuperer les variables du formulaire du moteur mais puisque j'utilise la pagination, j'envoi les variables avec un lien et la toutes mes requétes et déclaration de variable sone du style $_post donc ils ne peuvent pas récupérer les variables d'un lien car ici faut utiliser $_GET, et la je ne comprend plus rien car comme j'ai déja préciser les résultats sont répartie sur plusieurs pages avec un lien suivant qui doit transferer les variables mais puisque j'utilise le $_POST quand je clique sur suivant hoppp..plus rien les variable transmise ne peuvent pas étre récupérer ....j'espére que vous avez compris mon prob...MERCI d'avce si quelqu'un me propose une soluce

par iclo » 20 févr. 2006, 23:25

J'ai l'impression que tu as reçu toutes les informations nécessaires pour corriger ces erreurs. donc il ne te reste plus qu'à t'y mettre :wink: :wink: :wink:
ps: nous ne sommes pas des débuggeurs gratuits en ligne.

par Truc » 20 févr. 2006, 23:11

Euh... tu va ouvrir combiens de sujet pour ce problème ?

:arrow: http://www.phpfrance.com/forums/voir_su ... texte-.php
:arrow: http://www.phpfrance.com/forums/voir_sujet-14225-0.php

tu y as eu des réponses et solutions à apporter tu pourrais faire un effort au moins, je récapitule:
$cat=$_POST['douze']; //ou $_GET['douze'];
$limit=$_POST['app'];
pour toutes les variables qui ne sont pas directement initialisées dans la page comme par exemple:
$var="machin";
des que tu utilise une variable dans un test ou autre:
if($var)
$var doit être initialisé avec une valeur donc on revient à l'exemple 1 du dessus suivant que ces varaibles viennent d'un formulaire (en methode POST) ou d'un lien (GET)