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

PHP & Base de données Discussion :

Livre d'or php


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Livre d'or php
    Bonjour a tous,

    je voulais coder mon livre d'or seul. Mais je rencontre des problèmes pour l'affichage des messages.
    Je m'expliquer :
    -Quand j'actualise ma page un message est posté (je ne veux pas)
    - Et j'ai fais un test en javascript qui ouvre une fenetre quand les champs ne sont pas rempli, donc quand je clique sur envoyer avec les champs les message d'erreur apparraisse et aucun message n'est poster (c'est bien)
    Mais quand suite après avoir fais ca je re clique sur envoyer en renseignant els champs correctement et bien mon message est envoyer et poster. Mais le message d'avant sans renseignement des champs est poster aussi. (c'est un problème)

    si vous avez des solutions je serai ravie de votre aide
    merci
    Nuxcarenis

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 456
    Points : 4 612
    Points
    4 612
    Par défaut
    salut, des bouts de codes seraient les bienvenues.

    Quand j'actualise ma page un message est posté
    fais des tests pour verifier si cette personne a deja envoye un message quelques minutes auparavant.

    Mais le message d'avant sans renseignement des champs est poster aussi
    ton JS est bien sur la meme page que les champs a renseigner ? (et non sur la page de traitement)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Quand j'actualise ma page un message est posté
    Comment puis -je tester ?
    Par rapport avec l'adresse IP du Poste peut etre ?

    Mais le message d'avant sans renseignement des champs est poster aussi

    Oui tout est sur la meme page, le formulaire, l'ajout dans la base, l'affichage des messages et le script en javasrcipt

  4. #4
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    Salut,
    voila une facon de faire...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //si il a deja etait poste
    if(isset($_GET['bPost']))
        $bPost=true;
    else
        $bPost=false;
     
     
    if($bPost){
        echo "Dejà traité";
    }
     
    <form>
    <input type=\"hidden\" name=\"bPost\" >
    </form>

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 456
    Points : 4 612
    Points
    4 612
    Par défaut
    si tout est dans la meme page tu peux faire ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(empty($_POST["btvalider"]))
    {//si le bouton pour envoyer le formulaire (ici appelle "btvalider") n'a pas ete clique
    //ton code du formulaire avec le javascript
    }
    else
    {//le bouton a ete clique
    //code eventuel pour eviter le flood
    //traitement des donnees
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Salut,
    Pour le problème de message double je te propose la solution suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    // --------------- Etape 1 -----------------
    // Si un message est envoyé, on l'enregistre
    // -----------------------------------------
     
    if (isset($_POST['pseudo']) AND isset($_POST['message'])AND isset($_POST['ville']))
    {
        $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
        $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    	 $ville= mysql_real_escape_string(htmlspecialchars($_POST['ville']));
      $message=nl2br($message);
     
        $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
     $rep1 = mysql_query ("SELECT * FROM livreor ORDER BY id DESC");
    $donnee1 = mysql_fetch_array($rep1);
    $rep = mysql_query ("SELECT * FROM livreor WHERE id='$donnee1[id]' ");//la requete pour le problème des messages doubles
    $donnee = mysql_fetch_array($rep);
    if ($message != $donnee['message']) //le test pour le message double
    {
        // On peut enfin enregistrer :o)
        mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "','".$ville."', '" . $message . "')");}
    	else 
    {
    mysql_close();
    }
    }?>




  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut livre d'or
    excusez moi mais avez toute vos solutions mon problème ne se résolut pas.
    voilà ce que j'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <form id="formulaire" method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
     <input type="hidden" name="ajout" value="true"> 
    if (isset($_POST['ajout']))
    	$ajout=true;
    else 
    	$ajout=false;
     
    if ($ajout) { 
    // On récupère les données postées
    	$nom = $_POST['nom'];
    	$mail = $_POST['mail'];
    	$message = $_POST['zone'];
     
    //On vérifit que les champs ne sont pas vide
    //On créé la requête
     
    //on fais l'affichage
     
    <?php mysql_close(); 	?>
    si vous pouvez encore m'aider car je ne comprend pas très bien
    merci.

Discussions similaires

  1. [OpenOffice] Un tutoriel, un livre , et les .php
    Par belocom dans le forum OpenOffice & LibreOffice
    Réponses: 6
    Dernier message: 31/07/2007, 16h48
  2. [Sécurité] Livre d'or php spammé
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 12/06/2006, 12h56
  3. Livre d'or php + ms access
    Par lobiman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 17/02/2006, 13h13

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