IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Passer une fonction lorsque l'on envoie un formulaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 12
    Points
    12
    Par défaut Passer une fonction lorsque l'on envoie un formulaire
    Bonjour, je n'arrive pas en php à envoyer une fonction l'orsque je valide mon formulaire d'inscription.

    Mon code :

    <?

    function valide_mail()
    { --- }

    function inscription_valide()
    { --- valide_mail() --- }

    function valideinscription()
    { --- inscription_valide()) --- }

    ?>

    <form method="post" action="????la je veux envoyer valideinscription()????'">
    .....
    <input type="submit" value="S'inscrire" />
    </form>

    Ma fonction valideinscription , renvoie vrai si le formulaire est bien rempli et revoi faux ainsi que des messages. Ce sont ces messages que je veux qui apparaissent sur la même page que le formulaire. C'est pourquoi je désire envoyer une fonction de validation et non une page qui contient c'est vérification.

    Merci pour votre éventuelle aide.

    patrick

  2. #2
    Invité4
    Invité(e)
    Par défaut
    action="lis-moi-un-bon-tuto-c-est-la-catastrophe.php"

    et dans la page lis-moi-un-bon-tuto-c-est-la-catastrophe.php.
    tu récupères tes données $_GET ou $_POSt et les soumets à ta fonction.

  3. #3
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Points : 1 080
    Points
    1 080
    Par défaut
    tu n'as qu'a renvoyer le formulaire vers le fichier qui appelle ta fonction, je ne vois pas trop où ça pourrai être un problême!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Ben si c'est la le problème.

    Le résultat arrive sur une autre page.
    et si je passe :
    <form method="post" action="inscription.php?page=valideinscription">
    je n'ai pas le même graphisme parceque inscription.php est ouvert par
    index.php?inscription.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Je vais essayé d'être plus clair.
    Dans mon site (en construction), j'ouvre une page d'inscription contenant un formulaire. A l'activation de ce formulaire j'envoie une page qui teste les champs de ce formulaire. Tous fonctionnent bien. (voir le résultat sur http://vidal-p.club.fr/index.php).
    Mon souci est que je voudrais que le résultat du test de mon formulaire apparaissent en bas du formulaire dans la même page.

    Mon code actuel :

    [inscription.php]

    <?
    if ($_SESSION['inscrit'] == true OR $_SESSION['connecte'] == true)
    {
    echo ("<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vous êtes déjà inscrit, <b>$nom</b><br /><br />");
    }
    else
    { ?>
    <form method="post" action="index.php?page=valideinscription">
    <label for="pseudo">Votre pseudo *</label><input type="text" name="pseudo" /></td>
    <label for="motdepasse">Votre mot de passe *</label><input type="text" name="motdepasse" class="saisie" />
    <label for="email">Votre email *</label><input type="text" name="email" class="saisie" />
    <label for="site">Votre site web</label><input type="text" name="site" class="saisie" />
    <input type="submit" value="S'inscrire" class="bouton" />
    </form>
    <? } ?>

    [valideinscription.php]

    <?

    function valide_mail($m)
    { if (eregi('[.]', $m) AND eregi('@', $m)) { return true; }
    return false; }

    function inscription_valide($a,$b,$c){
    if(($a=='') OR ($b=='') OR ($c==''))
    {
    echo "Veuillez remplir les 3 champs obligatoires.";
    return false ; }
    if(!valide_mail($c))
    {
    echo "Votre email n'est pas valide.";
    return false ; }

    $sql = "SELECT id_membre FROM membre WHERE pseudo='$a'";
    $sql2 = "SELECT id_membre FROM membre WHERE email='$c'";
    $req = mysql_query($sql);
    $req2 = mysql_query($sql2);
    $res = mysql_num_rows($req);
    $res2 = mysql_num_rows($req2);

    if($res != 0)
    { echo ("Pseudo déjà pris sur galerierama."); return false;}
    if($res2 != 0)
    { echo ("email déjà utilisé sur galerierama."); return false;}
    return true ;
    }


    // programme principal

    $dbhote = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $dbbase = 'xxxx';
    $link = mysql_connect($dbhote,$dbuser,$dbpass);
    mysql_select_db($dbbase,$link);

    $nom_sql = mysql_real_escape_string($_POST['pseudo']) ;
    $pass_sql = mysql_real_escape_string($_POST['motdepasse']) ;
    $email = mysql_real_escape_string($_POST['email']) ;
    $site_sql = mysql_real_escape_string($_POST['site']) ;

    session_start() ;
    if (inscription_valide($nom_sql,$pass_sql,$email))
    {
    // On ajoute une entrée avec mysql_query
    mysql_query("INSERT INTO membre VALUES '', '$nom_sql', '$pass_sql','$email','$site_sql')");
    $_SESSION['inscrit'] = true;
    echo (" vous êtes inscrits.");
    }
    else
    { echo (" Vous n'êtes pas inscrits."); }

    mysql_close();
    ?>

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    C'est très illisible pour nous ! Si tu veux plus d'aide, mets les balises [code] autour de ton... code.

Discussions similaires

  1. Comment passer une fonction en argument
    Par Pades75 dans le forum Langage
    Réponses: 4
    Dernier message: 16/02/2006, 10h34
  2. Passer une fonction en paramètre ...
    Par Freeze dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/10/2005, 16h51
  3. [Conception] Passer une fonction en paramètre
    Par pejay dans le forum Langage
    Réponses: 9
    Dernier message: 09/12/2004, 13h58
  4. Réponses: 4
    Dernier message: 10/11/2004, 14h58
  5. Passer une fonction comme argument à une fonction
    Par Cocotier974 dans le forum Général Python
    Réponses: 4
    Dernier message: 29/06/2004, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo