Formulaire php avec Mysql

Fermé
xunil2003 Messages postés 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 - 21 févr. 2010 à 22:17
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 22 févr. 2010 à 18:24
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
21 févr. 2010 à 22:35
Il faut vérifier si les variables $_POST existent avec isset()
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
22 févr. 2010 à 00:01
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 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
22 févr. 2010 à 04:43
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 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
22 févr. 2010 à 17:32
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 mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
22 févr. 2010 à 17:39
J'ai mit les apostrophes pour pas que ce que j'ai écrit soit exécuté, donc invisible.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505 > LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012
22 févr. 2010 à 17:43
Je sais, c'est à xunil que je parlais.
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112 > avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024
22 févr. 2010 à 18:09
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 766 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2024 14
22 févr. 2010 à 18:06
Rebonjour,

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

Merci.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
22 févr. 2010 à 18:24
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