Fonction PHP

Résolu/Fermé
Zouzou45 - 6 juin 2013 à 17:53
 Zouzou45 - 7 juin 2013 à 12:33
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
6 juin 2013 à 18:56
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
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
7 juin 2013 à 11:12
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
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
7 juin 2013 à 11:39
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
Il ne me renvoi rien..
0
Utilisateur anonyme
7 juin 2013 à 12:07
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
Je l'ai entièrement copié/collé.. Et rien je viens de ré-essayer et toujours rien, c'est super bizarre..
0
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