Envoi resultat requete dans la BDD
Alex_00
Messages postés
37
Statut
Membre
-
Alex_00 Messages postés 37 Statut Membre -
Alex_00 Messages postés 37 Statut Membre -
Bonjour,
Encore et toujours un problème ...
Maintenant je n'arrive pas a envoyer le résultat d'une requête INSERT dans ma BDD
voila le code et l'erreur du script recup.php
Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.3\www\Site Web\recup.php on line 9
J'ai créé un formulaire et ce code doit récupérer ce qu'il y a dans le formulaire
Merci pour votre aide
Encore et toujours un problème ...
Maintenant je n'arrive pas a envoyer le résultat d'une requête INSERT dans ma BDD
voila le code et l'erreur du script recup.php
<?php
mysql_connect("localhost","root","" );
mysql_select_db("gfgsystems" );
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$societe = $_POST['societe'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$requete = INSERT INTO contact ('id_contact', 'nom_contact', 'prenom_contact', 'societe_contact', 'mail', 'message_contact') VALUES("", "$nom", "$prenom", "$societe", "$mail", "$message");
mysql_query($requete);
mysql_close();
?>
Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.3\www\Site Web\recup.php on line 9
J'ai créé un formulaire et ce code doit récupérer ce qu'il y a dans le formulaire
<form name="form1" method="post" action="recup.php">
<div align="left">
<table border="0" cellpadding="5" cellspacing="0"
width="380">
<tbody>
<tr>
<td height="25" width="61">
<div align="right">
<p class="textePetit" align="left">Nom* :</p>
</div>
</td>
<td colspan="2"><input name="nom"
class="boiteFormulaire" onfocus="this.value=''"
value="Votre nom" size="30" /></td>
</tr>
<tr>
<td height="25" width="61">
<div align="right">
<p class="textePetit" align="left">Prénom*
:</p>
</div>
</td>
<td colspan="2"><input name="prenom"
class="boiteFormulaire" onfocus="this.value=''"
value="Votre prénom" size="30" /></td>
</tr>
<tr>
<td height="25" width="61">
<div align="right">
<p class="textePetit" align="left">Société
:</p>
</div>
</td>
<td colspan="2"><input name="societe"
class="boiteFormulaire" size="30" /></td>
</tr>
<tr>
<td height="20">
<div align="right">
<p class="textePetit" align="left">Email* :</p>
</div>
</td>
<td colspan="2"><input name="mail""
class="boiteFormulaire" onfocus="this.value=''" size="30"
value="@" /></td>
</tr>
<tr>
<td valign="top">
<div align="right">
<p class="textePetit" align="left">Message*:</p>
</div>
</td>
<td colspan="2"><textarea name="commentaires"
cols="55" rows="10" class="boiteFormulaire"
onfocus="this.value=''">Votre message </textarea></td>
</tr>
<tr>
<td> </td>
<td width="1"> </td>
<td width="288">
<div align="right"> <input name="submit"
class="boiteFormulaire" value="Envoyer" type="submit" /></div>
</td>
</tr>
</tbody>
</table>
</div>
<div style="width: 100%;" class="center"> <span
class="TexteGris italique"> Les champs suivis d'une * sont
obligatoires. </span><br />
</div>
</form>
Merci pour votre aide
7 réponses
-
essaye déjà comme ca :
INSERT INTO contact (id_contact, nom_contact, prenom_contact, societe_contact, mail, message_contact) VALUES("", $nom, $prenom, $societe, $mail, $message); -
j'ai trouvé la solution :)
mais maintenant j'aimerais tester que certains champs ne soient pas vides -
Salut.
En PHP, une requête SQL est une chaine comme une autre, donc il faut l'entourer de guillemets (doubles ou simples).
Pour vérifier si un champ n'est pas vide, tu peux utiliser la fonction empty($var).
Elle retourne true si la longueur de $var est égale à 0.
Si tu veux mettre une longueur minimale, il faudra utiliser strlen($var) qui retourne la longueur de $var.
Avant d'utiliser les variables POST, vérifie qu'elles existent avec isset($var) -
Je n'y arrive toujours pas avec le test des champs vide ou nom
:@
quelque aurais t'il une solution, lorsque l'on clique sur envois, si certains champs sont vides qu'un message d'erreur apparaisse et redirige vers le formulaire sans enregistrer les éléments faux dans la base ???
Merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai déjà expliqué comment vérifier si un champ est vide ou pas ...
Si tu veux un autre conseille, je te propres d'utiliser une liste (array simple) pour stocker les messages, comme ceci :
<?php $errors = array(); $nom = isset($_POST['nom']) ? trim($_POST['nom']) : ''; $prenom = isset($_POST['prenom']) ? trim($_POST['prenom']) : ''; $email = isset($_POST['email']) ? trim($_POST['email']) : ''; // Vérification du Nom if(strlen($nom) < 3) { $errors[] = 'Le nom doit contenir 3 caractères.'; } // Vérification du Prenom if(strlen($prenom) < 3) { $errors[] = 'Le prénom doit contenir 3 caractères.'; } // Vérification de l'adresse email if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = 'L\'adresse email est invalide.'; } // Autres verifications if(count($errors)) > 0) { // S'il y a des erreurs : on les affiche echo '<div class="errors">'; foreach($errors as $error) { echo $error.'<br/>'; } echo '</div>'; } else { // S'il n'y a pas d'erreur : insertion dans la base $sql ='INSERT INTO table(nom,prenom,email) VALUES( "'.mysql_real_escape_string($nom).'", "'.mysql_real_escape_string($prenom).'", "'.$email.'" )'; //... } -
Je pense pouvoir m'en sortir avec ce code
Merci pour ton aide -
ça ne marche toujours pas :@
je comprend pas, c'est bien dans le script php du haut qu'il faut mettre le verification des champs vides ?
est-ce qu'il faut que je change l'extension la ou il y a mon formulaire ???