begin process at 2012 02 12 09:58:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Vérification formulaire livre d'or


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Vérification formulaire livre d'or

lundi 3 novembre 2008 à 12:08:06 | Vérification formulaire livre d'or

Danamel

Bonjour à tous

J'ai actuellement sur mon site un livre d'or qui fonctionne mais désirant le modifier afin de changer sa présentation je fait un script pour l'afficher sur 2 pages.
 1 fichier livredor.php qui affiche les messages avec pagination qui fonctionne très bien avec les données déjà dans la table 'livredor' de ma base.
+ 1 fichier formulaire.php qui affiche le formulaire et effectue les vérifications et qui ne fonctionne pas.

Si tous les champs sont remplis et le code bon ou faux, le code rentré s'efface et s'affiche l'erreur "Vous n'avez pas mis le bon code".
Si un des champs est vide mais le code bon, le code rentré s'efface et s'affiche l'erreur "Au moins un des champs est vide".
Débutant en PHP je n'arrive pas à trouver ce qui ne fonctionne pas bien dans les vérifications.

Voici le code de la page formulaire.php
<?php
session_start();
$nombre1 = mt_rand(2, 19);
$nombre2 = mt_rand(2, 9);
$resultat = $nombre1 + $nombre2;
$_SESSION['captcha'] = $resultat;

if(isset($_POST['go']) AND $_POST['go'] == 'Envoyer') {//Si le formulaire à été reçu
    if((isset($_POST['pseudo']) AND !empty($_POST['pseudo'])) AND (isset($_POST['captcha']) AND !empty($_POST['captcha'])) AND (isset($_POST['message']) AND !empty($_POST['message']))) {
// Si les 2 variables ne sont pas vides, et si le résultat du champ du code antispam est égal au code généré par la session, alors, et seulement dans ce cas, on fera notre insertion dans la base
//On vérifie que le code antispam est bon
    if(isset($_SESSION['captcha']) AND $_POST['captcha'] == $_SESSION['captcha']) {
// On peut enfin enregistrer :o)
// on se connecte à notre base
$base=mysql_connect("localhost", "root", "");
mysql_select_db ('jardinamel', $base);
                // On prépare la requête d'insertion des données
                $sql = 'INSERT INTO livredor VALUES("", "'.mysql_escape_string($_POST['pseudo']).'", "'.time("").'", "'.mysql_escape_string($_POST['message']).'")';
// On utilise mysql_real_escape_string par mesure de sécurité et pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // On lance la requête
                mysql_close(); // On ferme la connexion à la base de données
                header('location: livredor.php'); // On redirige le visiteur vers l'accueil du livre d'or
                exit(); // On termine le script courant
                }
        else {
            $erreur = '<strong><font color="red">Vous n\'avez pas mis le bon code</font></strong>';// Si le résultat est faux, on renvoie le visiteur...

        }
    }
                else {
        $erreur = '<strong><font color="red">Au moins un des champs est vide</font></strong>';
    }
}
// On commence le formulaire
//On inclut le début du doctype en haut de page
include("includes/header_debut.php"); ?>
        <title>Insertion d'un nouveau message</title>
<?php
//On inclut la fin du doctype et la banière en haut de page
include("includes/header_fin.php");
//On inclut le sommaire gauche de la page
include("includes/menu_livredor.php"); ?>
<div id="content"> <!-- début du contenu de la page -->
        <h1>Le Livre d'Or</h1>
        <div class="image">
            <img src="images/ligne1.gif" alt="ligneverte" />
        </div><br/><br/><br/>
<!-- On commence le formulaire-->
                <p id="presentation_livreor1">Utilisez le formulaire "CONTACT" pour posez une question<img id="livre_dor" src="images/livre_or.gif" alt="livredor" /></p>
<form id="formulaire_livreor" method="post" action="<?php echo $PHP_SELF ?>">
    <div class="form">
            <input type="text" name="website" id="website"/>
        <fieldset class="fieldset"> <legend>Votre Prénom ou Pseudo</legend>
            <input class="input" type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])) echo htmlentities(trim($_POST['pseudo'])) ?>">
        </fieldset>
        <fieldset class="fieldset"><legend>Code antispam<br/><span class="rouge">Combien font <?php echo $nombre1; ?> plus <?php echo $nombre2; ?> ?</span></legend>
            <input class="input" type="text" name="captcha"/>
        </fieldset>
        <fieldset class="fieldset"><legend>Votre message</legend>
            <textarea class="textarea" name="message"><?php if(isset($_POST['message'])) echo htmlentities(trim($_POST['message'])) ?></textarea>
        </fieldset>
<p><input type="submit" name="go" value="Envoyer"/></p>
    </div>
<p id="presentation_livreor">Retour aux messages du livre d'or ! <a href="livredor.php">CLIQUEZ</a></p>
<?php
if (isset($erreur))
echo '',$erreur;
?>
<!-- Notre formulaire est fini, on ferme la balise form -->
</form>
</div> <!-- fin du contenu de la page -->
<?php
//On inclut le sommaire gauche et le bas de page
include("includes/sommaire_index.php"); ?>

Si quelqu'un veut bien m'aider à trouver mes erreurs, merci d'avance.
Si d'autres précisions sont nécessaires pas de problème.
Danamel
mardi 4 novembre 2008 à 14:07:33 | Re : Vérification formulaire livre d'or

Danamel

Bonjour

Personne n'a une petite idée pour au moins m'orienter dans la bonne direction pour chercher ce qui cloche dans mon code. N'étant pas très expert, même débutant en PHP je suis conscient qu'il n'est très bien présenté mais une peu d'aide serait bienvenue.
merci d'avance


Cette discussion est classée dans : code, php, mysql, formulaire, post


Répondre à ce message

Sujets en rapport avec ce message

formulaire php [ par ainfographie ] Bonjour à tous, je viens vers vous car je désespère. J'ai créé un formulaire de contact, pour mon site, j'aimerais recevoir les infos dans ma boîte ma problème avec récupération $_POST [ par Parisssi ] bonjour voila ça 2 jours que je n'arrive pas à résoudre mon problème. J'ai le formulaire suivant et je n'arrive pas à récupérer le contenu de ma varia problème de boucle for et d'organisation dans mon code php [ par msi079 ] salut . je voudrais utiliser la boucle for dans mon code pour enregistrer les données (les préjudices). voici ce que je veux : une personnes peut avoi probleme insertion dans table mysql a partir de données formulaire [ par LaTatadu91 ] Bonjour,Voici un bon moment que je n'ai pas utilisé ni PHP ni MySQLet je me retrouver eprdu pour un truc tout simple: insérer des champs dans une tabl php/mysql [ par hadjila20 ] Bonjour à tous ,voilà j'ai un petit problème et j'espère que quelqu'un pourrai m'aider. j'ai un bout de code et le problème est que je n'arrive pas à php mysql sous linux [ par kate1910 ] Bonjour tout le monde , je suis débutante en php et mySQL et j'ai une application à faire , je travail sous linux j'ai essayé d'installer php,mysql et Créer des documents XML avec MySQL et PHP [ par kate1910 ] Bonjour tout le monde , bon comme le titre indique j'essaye decréer un fichier XML avec MySQL et PHP . dans ma base de donnée j'ai une tables" tablea Reponse Formulaire Php en Pop Up [ par nini2tignes ] Bonjour tout le monde, je recherche parfois des choses vraiment bête. j'ai un formulaire de contact Php qui fonctionne pas mal. [b]Lorsque qu'il est Valeur formulaires dans une boucle [ par nanti ] Bonsoir, Je souhaite concevoir un back-office et pour cela, j'ai généré un formulaire récupérant les valeurs de ma bdd dans les différents champs et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,122 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales