Problème affichage page par page

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 affichage page par page

par Cobra52 » 03 févr. 2006, 13:17

Ok, maintenant j'ai compris :wink:

Merci à vous 2 :D

par zeus » 03 févr. 2006, 12:54

il s'agit d'un opérateur ternaire
<?php
// Exemple d'utilisation pour l'opérateur ternaire
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// L'expression ci-dessus est identique à
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}
?>
L'expression (expr1) ? (expr2) : (expr3) renvoie la valeur de l'expression expr2 si l'expression expr1 est vraie, et l'expression expr3 si l'expression expr1 est fausse.

par Truc » 03 févr. 2006, 12:50

euh ouiu j'ai donné un exmeple mais pas assez détaillé apparemment.

le ? "correspond" au if et le : au else

donc ce qu'il y a avant le ? est un test if la condition avant le ":" est exécuté si le test est bon sinon on exécute ce qu'il y a apres le ":"

comme dans l'exemple de mon post avec les if, ifelse

par Cobra52 » 03 févr. 2006, 09:54

Salut Truc,

Génial :D
Ca fonctionne très bien !

Par contre, petite question sur le codage, à quoi correspondent le "?" et ":" dans
$var = (isset($_POST["var"])) ? $_POST["var"] : ( (isset($_GET["var"])) ? $_GET["var"] : "0");
Afin de bien comprendre ce que je fais.

STP

Merci.

par Truc » 02 févr. 2006, 22:02

Salut,

il faut effectivement récupérer les vriables POST puis GET, pour ça tu peux tout simplement faire comme suite:
$var = (isset($_POST["var"])) ? $_POST["var"] : ( (isset($_GET["var"])) ? $_GET["var"] : "0");
avec ce test tu essaie de récupérer une variable POST en premier si elle n'existe pas la meme chose avec GET sinon initialisation à 0.

Ce qui revient à faire:
if (isset($_POST["var"])) 
   $var = $_POST["var"] ;
elseif (isset($_GET["var"])) 
   $var = $_GET["var"] ;
else 
   $var = "0";

Problème affichage page par page

par Cobra52 » 02 févr. 2006, 21:29

Bonjour,

En m'étant inspiré de votre affichage page par page
http://www.phpfrance.com/forums/voir_sujet-8874.php
, j'ai un problème lorsque je veux passer à la page suivante sur une des pages de mon site.

Donc, j'ai un formulaire, j'envoie les infos sur la même page qui les traite et retourne une table avec les valeurs correspondantes. Les infos et la barre de navigation s'affichent bien, avec le 1 en gras, mais si je clique pour voir la page 2, ça me retourne " La requête n'a donné aucun résultat", qui est situé après "else {" à la fin.

En cherchant, je crois avoir compris d'où venait le problème.
En fait, du fait du formulaire, je contrôle les variable issue du "submit" comme ceci :
if (isset($_POST["var"])) $var = $_POST["var"] ; else $var = "0";
Par contre, pour le lien "$barre_nav. = "<a..." incluant mes variables, j'utilise le "$_GET" lors du contrôle des variables, donc ça ne correspond plus avec les variables venant du formulaire (ce sont les mêmes), qui elles sont en "$_POST"
En testant les variables venant de la $barre_nav, ça me retourne "0"

Ya t-il une solution à ce problème SVP, merci ?

Pas trop sûr d'avoir été très clair, encore une fois :?