Redirection si $var n'est pas numérique
10 messages
• Page 1 sur 1
-

vitalizo - WRInaute passionné

- Messages: 1086
- Inscription: 27 Nov 2005
Redirection si $var n'est pas numérique
Bonjour
Je voudrais vérifier si une variable est un chiffre ou pas. Si oui, on traite la page, si non je voudrais rediriger vers l'index.
le code:
Mais quand je mets par exemple '11aa' dans $chiffre, il me renvoie une page 404.
Qqchose qui cloche dans mon code ?
Je voudrais vérifier si une variable est un chiffre ou pas. Si oui, on traite la page, si non je voudrais rediriger vers l'index.
le code:
- Code: Tout sélectionner
if(is_numeric($_GET['chiffre']))
$chiffre=mysql_real_escape_string(htmlentities($_GET['chiffre']));
$data = ma requete
$donnees1 = mysql_fetch_assoc($data);
.......
else {
header("Location: index.php"); }
Mais quand je mets par exemple '11aa' dans $chiffre, il me renvoie une page 404.
Qqchose qui cloche dans mon code ?
-

forty - WRInaute passionné

- Messages: 1701
- Inscription: 30 Oct 2008
Re: Redirection si $var n'est pas numérique
si tu veux vérifier que $_GET['chiffre'] ne contient que des chiffres entre 0 et 9, is_numeric n'est pas la bonne fonction car elle accepte les exposants et le séparateur décimal.
tu peux utiliser une expression régulière :
tu peux utiliser une expression régulière :
- Code: Tout sélectionner
if (preg_match('/^[0-9]+$/', $_GET['chiffre']))
-

vitalizo - WRInaute passionné

- Messages: 1086
- Inscription: 27 Nov 2005
Re: Redirection si $var n'est pas numérique
Salut,
ici oui, je les ai zappé en recopiant le code.
Mais même en les mettant, quand je teste avec $chiffre= 11aa, ca me renvoie une 404 alors que je voudrais que ca redirige sur index.
ici oui, je les ai zappé en recopiant le code.
Mais même en les mettant, quand je teste avec $chiffre= 11aa, ca me renvoie une 404 alors que je voudrais que ca redirige sur index.
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Redirection si $var n'est pas numérique
Tu fais la redirection avec header() mais pas de exit(), donc le code après le header("Location: index.php") est exécuté aussi.
Le problème ne viendrais pas de là (on ne sait pas ce qu'il y a après) ?
Le problème ne viendrais pas de là (on ne sait pas ce qu'il y a après) ?
-

Eric 2A - WRInaute discret

- Messages: 194
- Inscription: 26 Fév 2006
Re: Redirection si $var n'est pas numérique
Salut,
Le fichier index.php est t-il bien présent dans le même répertoire que celui du script contenant ce code ?
Sinon, gràce à l'expression rationnelle de Forty, nous somme assurés de n'avoir que des chiffres. Ainsi, l'utilisation des fonctions mysql_escape_string et htmlentities devient superflue.
Comme spout, je pense aussi qu'il est préférable de placer la fonction exit(); après l'appel à la fonction header('Location: index.php');.
Le fichier index.php est t-il bien présent dans le même répertoire que celui du script contenant ce code ?
Sinon, gràce à l'expression rationnelle de Forty, nous somme assurés de n'avoir que des chiffres. Ainsi, l'utilisation des fonctions mysql_escape_string et htmlentities devient superflue.
Comme spout, je pense aussi qu'il est préférable de placer la fonction exit(); après l'appel à la fonction header('Location: index.php');.
- Code: Tout sélectionner
if((isset($_GET['chiffre']))and(preg_match('/^[0-9]+$/',$_GET['chiffre']))) {
$chiffre=$_GET['chiffre'];
$data = ma requete
$donnees1 = mysql_fetch_assoc($data);
// ...
} else {
header('Location: index.php');
exit();
}
-

boby55 - WRInaute occasionnel

- Messages: 413
- Inscription: 2 Avr 2008
Re: Redirection si $var n'est pas numérique
avec ça plutot (/)?
et garde ton test numérique il est très bien.
- Code: Tout sélectionner
header('Location: /index.php');
et garde ton test numérique il est très bien.
- Code: Tout sélectionner
is_numeric
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [Redirection 301] index.php?page=var vers var.html
- art_xx.html?var=toto --> index.php?art=xx&var=toto
- Page.php?var=1 et Page.php?var=2 page identique ?
- pagerank: ?var=XX
- rewrite var bdd
- Repas webmasters / référencement: Var (83)
- Var commentées avec liens dans JS
- recuperer windows.status en var. Probleme JS
- passer une var $_GET['page'] ou non [Probleme]
- [Résolu] SQL LIKE - en texte oui mais en var non
Consultez la description détaillée des produits ou services de Google suivants : API Google Checkout
- Test de redirection
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

