Passage de variable en GET

Invité
Invité n'ayant pas de compte PHPfrance

22 janv. 2007, 22:49

Bonsoir,

je fait fasse actuellement a un petit problème ! Je fait passer par l'url une variable et la récupère sur une page afin de travailler avec !

Donc,elle passe comme ca : http://www.unsite.com/page.php?var=variable

Sur la page "page.php"un select et un update se passe grace a cette variable !

Par contre,si un de mes visiteurs tape l'adresse http://www.unsite.com/page.php sans la variable, il tombe sur une erreur comme quoi la variable n'est pas défini !

Comment je pourrais faire pour eviter une erreur en cas d'accès direct ou voir meme interdire l'accès a cette page si la variable n'est pas défini dans l'url ?

Merci !

ViPHP
ViPHP | 1961 Messages

22 janv. 2007, 22:53

Bonjour,

En testant son existence avec isset() tout simplement.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

22 janv. 2007, 23:20

Je vient de tester cela mais...
<?php
include_once('haut.php'); 
$boum = '';
if(isset($boum))
{
echo 'variable non présente';
include_once('bas.php');
exit();
}
$rep_se=mysql_query("SELECT * FROM membres WHERE boum='$boum'") or die ('Erreur : '.mysql_error());
$comp=mysql_num_rows($rep_ses);
if($comp == 0)
	{
	echo 'Perdu';
include_once('bas.php');
exit();
}
Donc,je n'ai plus d'erreur,mais que la variable soit présente ou non dans l'url , je reste sur le 1er echo ! ?

Eléphant du PHP | 65 Messages

22 janv. 2007, 23:39

if(isset($var)) signifie : si $var existe
c'est normal que tu reste sur le premier echo puisque tu fais exit(); à la fin de ta boucle
donc tu devrais faire
//si $var existe
if(isset($var)){
//ici tu tapes tes instructions
}

Invité
Invité n'ayant pas de compte PHPfrance

22 janv. 2007, 23:54

oui ou alors comme ceci :
if(!isset($var)){ 
si $var n'existe pas.... :wink:

ViPHP
ViPHP | 1961 Messages

22 janv. 2007, 23:55

Re,

Si comme tu le dis dans le premier post, tu récupères une variable passée en URL tu dois tester sur la superglobal $_GET['nom_variable']
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein