Bouton envoyer de mon formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bouton envoyer de mon formulaire

Re: Bouton envoyer de mon formulaire

par stealth35 » 03 janv. 2010, 21:35

juste un petit question avant t'as quelle version de php ?

Code : Tout sélectionner

<?php phpinfo(); ?>

Re: Bouton envoyer de mon formulaire

par maya27 » 02 janv. 2010, 17:25

Bonjour,

Tout d'abord bonne année!!

Ensuite, pour dire que j'ai trouvé le pb.. une erreur c'est affiché "safe mode" donc j'ai désactivé le safe mode et depuis cela fonctionne.

Voilà, merci pour toute l'aide apportéé.
Bizzz

Re: Bouton envoyer de mon formulaire

par maya27 » 31 déc. 2009, 10:21

bonjour,

j'ai vérifié pour le if ça m'a l'air correct.
Pour la table mess..j'ai changé..j'avais tout recommencer en fait..
mysql_query() et bien RAS, même pas une erreur.. j'ai mis aussi mysql_error() mais aucune erreur n'est retrounée franchement..je ne comprends plus rien..

Re: Bouton envoyer de mon formulaire

par Ryle » 31 déc. 2009, 00:45

Est-ce que tu rentres bien dans le if() ? (est-ce que tes 3 variables sont bien envoyées par le formulaire précédent ?)

Que retourne ton mysql_query() ? Tu peux utiliser mysql_error() pour savoir s'il y a eu une erreur lors de l'exécution de ta requête... (nota : dans ton post précédent, ta table s'appellait "messages" et pas "mess")

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 20:09

Me revoilà,

Alors après toute mon aprem passée dessus j'ai réussie à faire ceci :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 
<head> 
<title> envoyer.php</title> 
</head> 
<body> 
<?php 
require_once("config.php");
if ((isset($_POST['pseudo']))&&(isset($_POST['mail']))&&(isset($_POST['message'])))
{
mysql_connect(DBHOST,DBUSER,DBPASSWD) or die ('Impossible de se connecter à la BDD'.mysql_error()); 
mysql_select_db(DBNAME);

$ps=$_POST['pseudo'];
$ma=$_POST['mail']; 
$mess=$_POST['message']; 

$mess=mysql_real_escape_string($mess);
$ma=mysql_real_escape_string($ma);
$ps=mysql_real_escape_string($ps);

$sql="SELECT * FROM mess  ORDER BY ident";
$Req="insert into mess(pseudo,mail,message)values('$ps','$ma','$mess')"; 
mysql_query($Req); 
}

?> 
<a href= "http://localhost/C/accueil.html"><img src="Image\BB.gif"></a> 
<br><br><br>
<center>
<font color="blue" size = 15> Je vous remercie pour le message!! </font>
</center>

</body>


</html>

je n'obitiens pas d'erreur mais le pb est que rien ne s'affiche dans ma basse de données!! je commence à devenir folle :roll:

olala je ne sais pas pourquoi ça ne fonctionne pas.. j'ai tout essayé (sans doute que non sinon ça marcherait..)
Auriez-vous une idée??

merci
bisous

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 12:10

alors voilà
si j'ai bien compris ça devrait donné ça (enfin j'espère lol) sauf que lorsque je clique sur envoyer ben RAS enfin si j'ai le envoyer.php qui s'ouvre #-o
<?php 
function protection ($valeur)
{
  return htmlspecialchars(addslahes($valeur));
}
?>

<html>
        <head>
                <title> Envoyer </title>
        </head>
        <body>
        <?php
                $pseudo=addslashes($_POST['pseudo']);
                $mail=addslashes($_POST['mail']);
                $message=addslashes($_POST['message']);
                echo "valeurs" : $pseudo $mail $message;
				
		mysql_connect(DBHOST,DBUSER,DBPASSWD);
		mysql_select_db(DBNAME);		
				
			$req = "INSERT INTO messages (ident, pseudo, mail, message)
                  VALUES ('$ident','$pseudo','$mail','$message')";
    $result = @mysql_query($req);
    if (!$result) {
        echo "Echec!<br />";
    } else {
        echo "Message enregistré!".
             "<br />";
    }
		?>
        </body>
</html>


merci pour toute l'aide apportée ;) j'ai appris pas mal de chose ici
bizzz

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 11:52

donc alors si j'ai bien compris.
Je dois avoir
- une page config.php avec les paramètre de connexion à la BDD
- une page html contenant le formulaire
- une page envoi.php qui lorsque l'on clique sur envoyer dans le formulaire arrive dans la bdd
pour cela je dois donc me connecter à laide de
mysql_connect(DBHOST,DBUSER,DBPASSWD);
mysql_select_db(DBNAME);
puis envoyer les infos dans la bdd.. à l'aide de POST ou GET
est-ce bien cela?

merci

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 11:37

merci, alors je reste sur addslahes..
merci car je ne connaissais pas cette fonction.

En tout cas merci de prendre le temps de m'expliquer.. tout devient plus clair ;)

Re: Bouton envoyer de mon formulaire

par Aureusms » 30 déc. 2009, 11:32

Concernant les protection de retour formulaire tu dois savoir trois fonctions :

htmlspecialchars() (permet d'éviter qu'on t'injectes des balises HTML dans ton livre d'or) : http://php.net/manual/fr/function.htmlspecialchars.php
mysql_escape_string (permet d'éviter les injections SQL (et de te faire pirater ta base)) : http://www.manuelphp.com/php/function.m ... string.php
et son équivalent addslahes (elles font la même chose) : http://php.net/manual/fr/function.addslashes.php

Utilises mysql_escape_string ou addslahes, pas les deux en même temps ce qui te donnera (on va utiliser un fonction pour cela (histoire d'apprendre)) :
<?php 
function protection ($valeur)
{
  return htmlspecialchars(addslahes($valeur));
}
?>
 <html>
        <head>
                <title> Envoyer </title>
        </head>
        <body>
        <?php
                $pseudo=protection($_POST['pseudo']);
                $mail=protection($_POST['mail']);
                $message=protection($_POST['message']);
                echo "valeurs" : $pseudo $mail $message;
                ?>
        </body>
</html>

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 11:28

<FORM method="POST" action="envoyer.php">
</form>


ça n'est pas ça??
merci
Si mais tu ne l'as pas mis au bon endroit. Regardes où je l'ai mis.

ah oui d'accord je n'avais pas compris

pour le code php merci :) ça commence à venir alors..

merci

Re: Bouton envoyer de mon formulaire

par Aureusms » 30 déc. 2009, 11:24

Sinon côté PHP... pas de problème (tu vois çà vient) mais je te conseille (comme tu vas travailler avec mysql) de protéger tes retours de formulaire avec une fonction spéciale :
 <html>
        <head>
                <title> Envoyer </title>
        </head>
        <body>
        <?php
                $pseudo=addslashes($_POST['pseudo']);
                $mail=addslashes($_POST['mail']);
                $message=addslashes($_POST['message']);
                echo "valeurs" : $pseudo $mail $message;
                ?>
        </body>
</html>

Re: Bouton envoyer de mon formulaire

par Aureusms » 30 déc. 2009, 11:21

<FORM method="POST" action="envoyer.php">
</form>


ça n'est pas ça??
merci
Si mais tu ne l'as pas mis au bon endroit. Regardes où je l'ai mis.

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 11:21

Je te remercie.
Je vais reprendre tout le code afin de voir ce qui n'allais pas.
Merci :)

Re: Bouton envoyer de mon formulaire

par Aureusms » 30 déc. 2009, 11:19

Au passage nous allons mettre cela conforme aux standards du Web (comme tu débutes, tu iras voir les CSS dans pas longtemps). De plus tu as quelques erreur HTML (comme dans tes balises head et dasn ton tableau ; j'ai tout corrigé dessous. essayes de voir ce que j'ai corrigé
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1 style="text-align : center;"> Formulaire</h1>
<FORM method="POST" action="envoyer.php">
<table>
  <tr>
    <td>
      <strong>Votre Pseudo: </strong>
    </td>
    <td>
      <input name='pseudo' type='text' size='50'>
    </td>
  </tr>
  <tr>
    <td>
      <strong>Votre mail: </strong>
    </td>
    <td>
      <input name='mail' type='text' size='50'>
    </td>
  </tr>
  <tr>
    <td>
      <strong>Votre message : </strong>
    </td>
    <td>
      <textarea name='texte' cols='50' rows='20'>
      </textarea>
    </td>
  </tr>
  <tr>
    <td>
      <input name='annuler' type='reset' value='Annuler'>
    </td>
    <td>
      <input name='soumettre' type='submit' value='Envoyer'>
    </td>
  </tr>
</table>
</form>
</body>
</html>

Re: Bouton envoyer de mon formulaire

par maya27 » 30 déc. 2009, 11:12

<FORM method="POST" action="envoyer.php">
</form>


ça n'est pas ça??
merci