Fonction PHP

Résolu
Zouzou45 -  
 Zouzou45 -
Coucou chères ami(e)s,

Vous m'avez aidé tellement de fois déjà que je ne pourrais vous remerciez assez. Mais cette fois-ci je me trouve face à un problème beaucoup plus cibler, je ne peux faire autrement que vous exposer mon problème directement.

Voici mon code PHP:

<?php
session_start();
include 'SQL.php';

function captcha()
{
    if(!empty($_POST['tel']))
    {
        if (preg_match('^0[^0][1-9]{1}[0-9]{8}$', $_POST['tel']))
        {
            if(!empty($_POST['captcha']))
            {
                if($_POST['captcha']==$_SESSION['captcha'])
                {
                    echo Header("Location: traitement.php");
                }
                else
                {
                    echo Header("Location: inscription.php");
                }
            }
        }
        else
        {
            echo Header("Location: inscription.php");
            echo ('phone()');
        }
    }
}
?>


Donc dans tout les cas de figure quoi que j'entre dans mon formulaire d'inscription ma fonction fais comme si c'était bon et passe à la verification du captcha..

Je vous remercie d'avance pour votre aide, Au revoir.
A voir également:

9 réponses

Utilisateur anonyme
 
Salut salut,

Pour moi la seule chose (autre que le captcha) qui est vérifié dans cette fonction c'est le format du numéro de téléphone. Quand tu dis quoi que tu entre dans le formulaire , tu parles de quoi exactement? Si tu entres des lettres dans le numéro de téléphone ça fonctionne quand me^me?
0
Zouzou45
 
Alors, pour répondre à ton affirmation déjà, oui c'est exactement ça.

Et pour t'éclairer au propos de ce que mon champ accepte malgré ma fonction, oui il accepte lettres, chiffres, en gros c'est comme si je n'avais absolument pas mis d'expression régulière. :'(
0
Utilisateur anonyme
 
Re,

Il manque des petits / , et je ne comprends pas tout à fait le debut de l'expression : ^0[^0] -> qu'est ce que tu cherches à faire ici?

Essai comme ça, ça vérife les num : 0x xx xx xx xx
if (preg_match('/^0[1-9]{1}[0-9]{8}$/', $_POST['tel']))
0
Zouzou45
 
Re à toi,

En fait, j'essayais de faire en sorte que mon deuxième numéro ne soit pas un 0 mais j'avais pas besoin je viens de capter.. ^^'

J'comprends plus rien, j'ai essayé l'expression que tu m'as fourni qui m'as l'air juste jusqu'à preuve du contraire mais les lettres passent toujours :''(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Hummm c'est bizarre, test juste ce petit bout pour voir :

<?php

$_POST['tel']="dfghytrety";

    if(!empty($_POST['tel']))
    {
        if (preg_match('/^0[1-9]{1}[0-9]{8}$/', $_POST['tel']))
        {
           echo "vrai<br>";
        }
        else
        {
           echo "faux<br>";
        }
    }

?> 
 


S'il te renvoie vrai il y a vraiment un porblème.
0
Zouzou45
 
Il ne me renvoi rien..
0
Utilisateur anonyme
 
Ben là il y a un truc pas possible, tu l'as copié collé? Même pas un message d'erreur?
Chez moi ça renvoie qqch.

0
Zouzou45
 
Je l'ai entièrement copié/collé.. Et rien je viens de ré-essayer et toujours rien, c'est super bizarre..
0
Zouzou45
 
Merci pour toutes tes aides mais je viens de trouver, j'ai mis un pattern avec une expression régulière donc du coup c'est bon tout marche comme sur des roulettes.

Encore Merci !! :D
0