table vide ?

  • Auteur de la discussion Auteur de la discussion jpmcomon
  • Date de début Date de début
Nouveau WRInaute
bonjour,
j ai cree une table ds une base de donnees afin de recueillir les infos des visiteurs du site.
j utilise un formulaire (10 champs) au format htm pointant vers un fichier en php pour l envoi des infos vers la bas ds la table(10 champs + 1champ incremental). Si celle incremente bien les infos n apparaissent pas!
De plus je n ai pas de message d erreur!
voyez vous une explication?
merci. :oops:
 
WRInaute impliqué
est-ce que tu utilises bien $_GET ou $_POST pour les lire les données de ton formulaire ?
 
Nouveau WRInaute
post
voici le script: (moins le connect)

$sql="INSERT INTO list VALUES(' ','$texte','$societe','$produits','$services','$titre','$nom','$adresse','$telephone','$telecopie','$messagerie')";


mysql_query($sql) or die('Erreur sql'.$sql.mysql_error());



echo'Vos données ont été enregistrées';

mysql_close();
?>
<?

mail("webmaster@protec-info.fr", "demande d'infos", "Vous avez reçu une nouvelle DEMANDE d'info de Protec-info allez a\n www.protec-info.fr/info.php\n Le webmaster de protec-info.fr","From: webmaster@$protec-info.fr");

?>
 
WRInaute occasionnel
Il faudrait le reste du script... pour savoir ce qu'il y a dans $texte','$societe','$produits','$services','$titre','$nom','$adresse','$telephone','$telecopie','$messagerie', etc.
 
Nouveau WRInaute
dans la page contact.htm, la partie formulaire:

<form action="envoi.php" method="post" onsubmit="return valideForm(this)">
<div style="text-align: left; font-style: italic; color: rgb(0, 0, 102);">
<table width="491" border="0" cellspacing="0" cellpadding="0" height="246" align="center">
<tr>
<td width="396"><font face="Arial, Helvetica, sans-serif" color="#333399"><span style="font-weight: bold;"><font size="3">Votre
texte</font></span> </font></td>
<td width="95"><font face="Arial, Helvetica, sans-serif" color="#333399"></font></td>
</tr>
<tr>
<td width="396"> <font face="Arial, Helvetica, sans-serif" color="#333399">
*
<textarea name="texte" rows="8" cols="45" wrap="VIRTUAL"></textarea>
<span class="paragr">* Champs obligatoires</span></font></td>
<td width="95">
<div align="right"><font face="Arial, Helvetica, sans-serif" color="#333399"><small><font size="3"><b>Cat&eacute;gorie</b></font></small>
<br>
soci&eacute;t&eacute; &nbsp; &nbsp;
<input type="radio" name="societe" value="societe">
<br>
produits &nbsp;
<input type="radio" name="produits" value="produits">
<br>
services &nbsp;
<input type="radio" name="services" value="services">
</font></div>
</td>
</tr>
<tr>
<td width="396" height="202"> <font face="Arial, Helvetica, sans-serif" color="#333399"><small><font size="3"><b>Coordonn&eacute;es</b></font></small>
</font>
<table style="color: rgb(0, 0, 102);" width="387">
<tbody>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">Nom</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
*
<input name="nom" value="" size="32" type="text">
</font></p>
</td>
</tr>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">Titre</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
<input name="titre" value="" size="32" type="text">
</font></p>
</td>
</tr>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">Adresse</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
<input name="adresse" value="" size="35" type="text">
</font></p>
</td>
</tr>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">T&eacute;l&eacute;phone</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
*
<input name="telephone" value="" size="35" type="text" maxlength="15">
</font></p>
</td>
</tr>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">T&eacute;l&eacute;copie</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
<input name="telecopie" value="" size="35" type="text" maxlength="15">
</font></p>
</td>
</tr>
<tr>
<td align="right" width="72">
<p align="justify"><font face="Arial, Helvetica, sans-serif" color="#333399"><em><font size="2">Adresse
de messagerie</font></em></font></p>
</td>
<td width="303">
<p align="right"> <font face="Arial, Helvetica, sans-serif" color="#333399">
*
<input name="messagerie" size="35" type="text">
</font></p>
</td>
</tr>
</tbody>
</table>
</td>
<td width="95" height="202"><font face="Arial, Helvetica, sans-serif" color="#333399"></font></td>
</tr>
<tr>
<td width="396"> <font face="Arial, Helvetica, sans-serif" color="#333399">
<input value="Effacer le contenu du formulaire" type="reset" name="reset">
</font></td>
<td width="95"> <font face="Arial, Helvetica, sans-serif" color="#333399">
<input value="Envoyer" type="submit" name="submit">
</font></td>
</tr>
</table>
</div>
</form>


le script que j ai envoyé avant correspond a la page: envoi.php
(diminué de la partie connection a la base) celle-ci fonctionne puisque j ai un script : test.php pour controler ma connection a la base. D autre part la table incremente a chaque envoi, le script d alerte par mail fonctionne egalement.
merci
 
WRInaute occasionnel
il faut utiliser la syntaxe $post['nom_variable'] pour récupérer les infos et pouvoir les insérer dans la bdd.

Il faudra aussi se pencher sur la sécurité, parce que là c'est très certainement sensible aux injections mysql. A moins que le serveur ne soit configuré contre ça... mais je doute ^^

Sinon, tu as une petite faute de frappe dans le champ From de ton mail.
 
Nouveau WRInaute
bon voila ce que j ai ajouté :
<?
if (isset($_POST['texte'])) $texte=$_POST['texte']; else $texte="";
if (isset($_POST['societe'])) $societe=$_POST['societe']; else $societe="";
if (isset($_POST['produits'])) $produits=$_POST['produits']; else $produits="";
if (isset($_POST['services'])) $services=$_POST['services']; else $services="";
if (isset($_POST['titre'])) $titre=$_POST['titre']; else $titre="";
if (isset($_POST['nom'])) $nom=$_POST['nom']; else $nom="";
if (isset($_POST['adresse'])) $adresse=$_POST['adresse']; else $adresse="";
if (isset($_POST['telephone'])) $telephone=$_POST['telephone']; else $telephone="";
if (isset($_POST['telecopie'])) $telecopie=$_POST['telecopie']; else $telephone="";
if (isset($_POST['messagerie'])) $messagerie=$_POST['messagerie']; else $messagerie="";
if (empty($texte) or empty($societe) or empty($produits) or empty($services) or empty($titre) or empty($nom) or empty($adresse) or empty($telephone) or empty($telecopie) or empty($messagerie))
{
// aucun champ n'est vide, on peut enregistrer dans la table
echo "Revenir en arrière <a href=\"javascript:history.back(1)\">revenir page contact</a>";
}

cette variable permet d ajouter les infos ds les champs.
merci pour ton aide,
cela dit, je ne m'expmique pas que mes autres scripts fonctionnent depuis 3 à 4 ans sans cette variable! est ce du a l évolution de php?
Niveau securité, que puis-je faire à part les securiser avec .htacess ?
j utilise trop peu ces languages c est qe qui explique mes questions qui peuvent paraitre d un autre age! (j ai des 'notions' php mysql apprise en 2002).
merci encore
jpm
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut