Formulaire php avec Mysql

xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

A chaque fois que je vai sur ma page ou réactiualise ma page avec la touche F5 cela me rajoute une entrée vide dans ma table Mysql.
Comment faire pour que cela ne ce reproduise pas, pourtant je n'appui pas sur le bouton "submit" pour enregistrer le formulaire ?

Ci quelqu'un a une idéee !


Voici le code de ma page PHP

----------------------------code---------------------------------------------------

<!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>Insert une entrée dans Mysql</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>


<p>
<?php



// connexion a la BDD avec login.php
require ('login.php');
$connexion = mysql_connect($hote, $login, $pass) or die("Erreur de connexion...") ;
$req = mysql_select_db($bdd, $connexion) or die("Erreur de connexion...") ;


$societe = mysql_real_escape_string(htmlspecialchars($_POST['societe']));
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$date_de_naissaissance = mysql_real_escape_string(htmlspecialchars($_POST['date_de_naissance']));
$adresse1 = mysql_real_escape_string(htmlspecialchars($_POST['adresse1']));
$adresse2 = mysql_real_escape_string(htmlspecialchars($_POST['adresse2']));
$code_postal = mysql_real_escape_string(htmlspecialchars($_POST['code_postal']));
$ville = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
$pays = mysql_real_escape_string(htmlspecialchars($_POST['pays']));
$telephone_fixe = mysql_real_escape_string(htmlspecialchars($_POST['telephone_fixe']));
$telephone_internet = mysql_real_escape_string(htmlspecialchars($_POST['telephone_internet']));
$telephone_portable = mysql_real_escape_string(htmlspecialchars($_POST['telephone_portable']));
$operateur = mysql_real_escape_string(htmlspecialchars($_POST['operateur']));
$fax = mysql_real_escape_string(htmlspecialchars($_POST['fax']));
$email1 = mysql_real_escape_string(htmlspecialchars($_POST['email1']));
$email2 = mysql_real_escape_string(htmlspecialchars($_POST['email2']));
$messenger = mysql_real_escape_string(htmlspecialchars($_POST['messenger']));
$remarque = mysql_real_escape_string(htmlspecialchars($_POST['remarque']));


mysql_query("INSERT INTO telephonique VALUES('', '$societe', '$nom', '$prenom', '$date_de_naissance', '$adresse1', '$adresse2', '$code_postal', '$ville', '$pays', '$telephone_fixe', '$telephone_internet', '$telephone_portable', '$operateur', '$fax', '$email1', '$email2', '$messenger', '$remarque')");



// déconnection de MySQL
mysql_close();


// le formulaire
?>
</p>
<p align="center">Inserrer une entrée dans l'annuaire téléphonique, Veuillez completer ci-dessous les champs.
<form action="Insert-une-entree.php" method='post'>
</p>
<table align="center" border="0">
<tr>
<td>Sociètè</td>
<td><input type="text" name="societe" maxlength="250"></td>
</tr>
<tr>
<td>Nom</td>
<td><input type="text" name="nom" maxlength="250"></td>
</tr>
<tr>
<td>Prènom</td>
<td><input type="text" name="prenom" maxlength="250"></td>
</tr>
<tr>
<td>Date de naissance</td>
<td><input type="text" name="date_de_naissance" maxlength="20"></td>
</tr>
<tr>
<td>Adress1</td>
<td><input type="text" name="adresse1" maxlength="20"></td>
</tr>
<tr>
<td>Adress2</td>
<td><input type="text" name="adresse2" maxlength="20"></td>
</tr>
<tr>
<td>Code Postal</td>
<td><input type="text" name="code_postal" maxlength="20"></td>
</tr>
<tr>
<td>Ville</td>
<td><input type="text" name="ville" maxlength="20"></td>
</tr>
<tr>
<td>Pays</td>
<td><input type="text" name="pays" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone fixe</td>
<td><input type="text" name="telephone_fixe" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone internet</td>
<td><input type="text" name="telephone_internet" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone mobile</td>
<td><input type="text" name="telephone_portable" maxlength="20"></td>
</tr>
<tr>
<td>operateur</td>
<td><input type="text" name="operateur" maxlength="20"></td>
</tr>
<tr>
<td>Fax</td>
<td><input type="text" name="fax" maxlength="20"></td>
</tr>
<tr>
<td>Email1</td>
<td><input type="text" name="email1" maxlength="20"></td>
</tr>
<tr>
<td>Email2</td>
<td><input type="text" name="email2" maxlength="20"></td>
</tr>
<tr>
<td>Observation</td>
<td><input type="text" name="remarque" maxlength="20"></td>
</tr>


</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Ajouter"></td>
</tr>
</table>


<p align="center">
<td><FORM>
<INPUT TYPE="button"
VALUE="Retour"
onClick="history.back()">
</FORM>

-------------------------------Fin du code---------------------------------------

Merci d'avance, coordialement.
A voir également:

6 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Il faut vérifier si les variables $_POST existent avec isset()
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Aussi, tu peux enlever mysql_close(); car il n'est généralement pas nécessaire.
Si tu veux le laisser remplace par :
mysql_close($link);

ET
$link = mysql_connect("hote", "identifiant", "mot_de_passe");


Et, par dessus tout, quand tu nous montres ton code, penses à le mettre entre les balise <'code><'/code> que te proposes CommentCaMarche.
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour,

a la reponse 1 :
Il faut vérifier si les variables $_POST existent avec isset(), esce comme ceci

a la reponse 2 :
Je ne sais pas comment marche les balises du forum je ne les ai pas trouvé.

Merci.

<'code>
<!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>Insert une entrée2 dans Mysql</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>


<p>
<?php


// Connexion a la BDD avec login.php
require ('login.php');
$link = mysql_connect("$hote", "$login", "$pass") or die("Erreur de connexion...") ;
$req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ;


// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
//$id = mysql_real_escape_string(htmlspecialchars($_POST['id']));
if(isset($_POST['envoyer'])) {
$societe = mysql_real_escape_string(htmlspecialchars($_POST['societe']));
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$date_de_naissance = mysql_real_escape_string(htmlspecialchars($_POST['date_de_naissance']));
$adresse1 = mysql_real_escape_string(htmlspecialchars($_POST['adresse1']));
$adresse2 = mysql_real_escape_string(htmlspecialchars($_POST['adresse2']));
$code_postal = mysql_real_escape_string(htmlspecialchars($_POST['code_postal']));
$ville = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
$pays = mysql_real_escape_string(htmlspecialchars($_POST['pays']));
$telephone_fixe = mysql_real_escape_string(htmlspecialchars($_POST['telephone_fixe']));
$telephone_internet = mysql_real_escape_string(htmlspecialchars($_POST['telephone_internet']));
$telephone_portable = mysql_real_escape_string(htmlspecialchars($_POST['telephone_portable']));
$operateur = mysql_real_escape_string(htmlspecialchars($_POST['operateur']));
$fax = mysql_real_escape_string(htmlspecialchars($_POST['fax']));
$email1 = mysql_real_escape_string(htmlspecialchars($_POST['email1']));
$email2 = mysql_real_escape_string(htmlspecialchars($_POST['email2']));
$messenger = mysql_real_escape_string(htmlspecialchars($_POST['messenger']));
$remarque = mysql_real_escape_string(htmlspecialchars($_POST['remarque']));


$query = mysql_query("INSERT INTO telephonique VALUES('', '$societe', '$nom', '$prenom', '$date_de_naissance', '$adresse1', '$adresse2', '$code_postal', '$ville', '$pays', '$telephone_fixe', '$telephone_internet', '$telephone_portable', '$operateur', '$fax', '$email1', '$email2', '$messenger', '$remarque')");

if($query) {
echo ' <div align="center"><font face="arial" size="4" color="red">Vous informations ont été correctement enregistrement ! </font><br /> ';
}
}




mysql_close($link); // déconnection de MySQL


// le formulaire
?>
</p>
<p align="center">Inserrer une entrée dans l'annuaire téléphonique, Veuillez completer ci-dessous les champs.
<form action="" method='post'>
</p>
<table align="center" border="0">
<tr>
<td>Sociètè</td>
<td><input type="text" name="societe" maxlength="250"></td>
</tr>
<tr>
<td>Nom</td>
<td><input type="text" name="nom" maxlength="250"></td>
</tr>
<tr>
<td>Prènom</td>
<td><input type="text" name="prenom" maxlength="250"></td>
</tr>
<tr>
<td>Date de naissance</td>
<td><input type="text" name="date_de_naissance" maxlength="10"></td>
</tr>
<tr>
<td> </td>
<td> sous la forme JJ/MM/AAAA </td>
</tr>
<tr>
<td>Adress1</td>
<td><input type="text" name="adresse1" maxlength="20"></td>
</tr>
<tr>
<td>Adress2</td>
<td><input type="text" name="adresse2" maxlength="20"></td>
</tr>
<tr>
<td>Code Postal</td>
<td><input type="text" name="code_postal" maxlength="20"></td>
</tr>
<tr>
<td>Ville</td>
<td><input type="text" name="ville" maxlength="20"></td>
</tr>
<tr>
<td>Pays</td>
<td><input type="text" name="pays" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone fixe</td>
<td><input type="text" name="telephone_fixe" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone internet</td>
<td><input type="text" name="telephone_internet" maxlength="20"></td>
</tr>
<tr>
<td>Téléphone mobile</td>
<td><input type="text" name="telephone_portable" maxlength="20"></td>
</tr>
<tr>
<td>operateur</td>
<td><input type="text" name="operateur" maxlength="20"></td>
</tr>
<tr>
<td>Fax</td>
<td><input type="text" name="fax" maxlength="20"></td>
</tr>
<tr>
<td>Email1</td>
<td><input type="text" name="email1" maxlength="20"></td>
</tr>
<tr>
<td>Email2</td>
<td><input type="text" name="email2" maxlength="20"></td>
</tr>
<tr>
<td>Messenger</td>
<td><input type="text" name="messenger" maxlength="20"></td>
</tr>
<tr>
<td>Observation</td>
<td><input type="text" name="remarque" maxlength="20"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="envoyer" value="Ajouter"></td>
</tr>
</table>


<p align="center">
<td><FORM>
<INPUT TYPE="button"
VALUE="Retour"
onClick="history.back()">
</FORM>

</body>
</html>

<'/code>
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Il fallait retirer l'apostrophe pour la balise code.
Mais colle ton code sur ce site et passe le lien, sinon la page du sujet sera longue.
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
J'ai mit les apostrophes pour pas que ce que j'ai écrit soit exécuté, donc invisible.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507 > LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention  
 
Je sais, c'est à xunil que je parlais.
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112 > avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention  
 
Moi aussi.
Je t'es répondu car tu as engagé la discussion sur ces fameux apostrophes. ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Rebonjour,

voila le lien du code : http://paste.pocoo.org/show/181182/

Merci.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
De toutes façons nous donner ton code ne sert à rien.
Il suffit d'englober tout le code qui enregistre par une condition "if".
Exemple :
<?php
if(empty($var1) || empty($var2) || empty($var3) || ...) {
    ?>
        <form method="post" action="">
        ...
        </form>
    <?php
} else {
    // Ton code pour enregistrer
}
0