Salva |
Le 24/12/2006 à 12:36 |
|
|
Salut à tous, Bon la j'ai honte  je n'arive pas faire fonctionner un simple formulaire pour inserer des champs dans une Bd Mysql Le problème est que rien ne s'inscrit dans ma BD J'ai une Bd avec une table qui s'appel "petition" dans cette table j'ai les champs id nom prenom adresse cp ville email asso commentaire dans mon formulaire j'ai les même champs sauf id j'ai mis en début de page le code suivant :
<?php require_once('Connections/connexionmy135040.php'); ?>
<?php //"petition"
if ($HTTP_POST_VARS['petition']=="ok") //en rapport avec le bouton "valider" de mon formulaire
{
$insertSQL="INSERT INTO petition (nom, prenom, adresse, cp, ville, email, asso, commentaire) VALUES ('$nom', '$prenom', '$adresse', '$cp', '$ville', '$email', '$asso', '$commentaire')";
}
?>
Pour le formulaire
<form name="form1" method="POST" action="petition.php">
<table width="100%" border="0">
<tr>
<th scope="col"><div align="left">Nom</div></th>
<td><input name="$nom" type="text" id="$nom" size="50" maxlength="50"></td>
</tr>
<tr>
<td><p>Prénom</p>
</td>
<td><input name="$prenom" type="text" id="$prenom" size="50" maxlength="50"></td>
</tr>
<tr>
<td>Adresse</td>
<td><input name="adresse" type="text" id="adresse" size="150" maxlength="200"></td>
</tr>
<tr>
<td>Code postal </td>
<td><input name="cp" type="text" id="cp" size="5" maxlength="5"></td>
</tr>
<tr>
<td>Ville</td>
<td><input name="ville" type="text" id="ville" size="50" maxlength="50"></td>
</tr>
<tr>
<td>E-mail</td>
<td><input name="email" type="text" id="email" size="50" maxlength="50"></td>
</tr>
<tr>
<td>Membre d'une association de consommateurs </td>
<td><input name="asso" type="text" id="asso" value="Nom de l'association" size="30" maxlength="40">
(Facultatif) </td>
</tr>
<tr>
<td><br>Commentaires<br>
(Réalisez sous votre résponsablitité)<br></td>
<td><br>
<textarea name="commentaire" cols="100" rows="5" id="commentaire">Inscrivez votre commentaire ici. (Facultatif)</textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input type="reset" name="Submit" value="Réinitialiser"> <input type="submit" name="Submit" value="valider">
<input name="petition" type="hidden" id="petition" value="ok"></td>
</tr>
</table>
</form>
Merci et joyeuse fêtes de fin d'année Salutations. |
Elidris |
Le 02/01/2007 à 14:58 |
|
 Encéphalo plat ! |
Bonjour à toi,
aprés lecture de ton code je pense que tu devrais mettre tes champs input comme ceci (sans le signe $):
<input name="nom" type="text" size="50" maxlength="50">
et pas :
<input name="$nom" type="text" id="$nom" size="50" maxlength="50">
et ici le champs Id n'a pas lieu d'être à ma connaissance.
le fait de mettre name="nom" créé automatiquement une variable $nom
... ensuite, si c'est un formulaire qui s'auto-appelle tu devrais mettre ton code de mise à jour de table en fin de page. ? non !
et je crois egalement qu'il faut que ton champ Id de ta table SQL soit en auto-incrementation vu que tu ne lui envoi rien sur cette ligne. -- "Les experts auront beau se mettrent tous d'accord, il peuvent se tromper." |
Audayls |
Le 02/01/2007 à 18:36 |
|
 Jeune Padawan |
Salut, Quelques petites remarques pour completer ce que Elidris a dis : - Sauf si ta version de PHP est inférieur à 4.1 (comme sur Tiscali (devenu Alice)) n'utilise pas "$HTTP_POST_VARS" mais "$_POST".
- Si tu veux vérifier qu'un formulaire a été posté tu peux faire "if (!empty($_POST)) {" c'est plus simple
-- 'Cause it's a bittersweet symphony, this life  |
Anthony |
Le 02/01/2007 à 19:38 |
|
 Admin |
Salut,
!empty() c'est pour vérifier qu'une variable n'est pas vide, même si ça ne renvoie rien si la variable n'existe pas. Le problème est que la vraie fonction adaptée pour savoir si une variable existe, c'est isset(). Autant utiliser isset(), et après tu fais tes vérifications.
a + -- 
|
Audayls |
Le 02/01/2007 à 19:47 |
|
 Jeune Padawan |
Non car la variable "$_POST" existe toujours même lorsqu'il n'y a aucun formulaire envoyé ("$_POST = array();" dans ce cas). -- 'Cause it's a bittersweet symphony, this life  |
Anthony |
Le 02/01/2007 à 20:09 |
|
 Admin |
Dans ce cas là tu fais un if(isset($_POST['ta_variable'])) :) -- 
|