siatu
Messages postés10Date d'inscriptionmardi 14 septembre 2010StatutMembreDernière intervention17 septembre 2010
-
17 sept. 2010 à 11:02
kohntark
Messages postés3706Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
17 sept. 2010 à 20:10
Bonjour tout le monde,
voila le bout de mon script qui ne va pas bien php :
<?php
$hostname= "localhost";
$mysql_base = "dbemailcenter";
$user = "root";
$pass="";
$conn=mysql_connect($hostname,$user,$pass);
$db=mysql_select_db($mysql_base,$conn) or die ("impossible de se connecter à la base ") ;
//include("connection.php");
$nom=$_POST['name'];
$societe=$_POST['societe'];
$position=$_POST['position'];
$email=$_POST['email'];
$tel=$_POST['tel'];
$siteweb=$_POST['siteweb'];
$objet=$_POST['objet'];
$detail=$_POST['text'];
$date=date('Y-m-d');
$sql=mysql_query("select * from `offreagence` where `email` ='$email' and `date_offre`= '$date'") or die("impossible de'executer la requette");
$nombre=mysql_num_rows($sql);
if($nombre==0)
{
$req=mysql_query("INSERT INTO `offreagence` VALUES ('$nom','$societe','$position','$email','$tel','$siteweb','$objet','$detail','$date','')")or die("impossible d'inserer cette offre");
if ($req) {
echo ' Merci pour votre contact, Nous vous répondons dans les plus briefs délais';
}
}
else
{echo 'Vous avez déjà envoyé une demande de contact';}
?>
ce code affiche le message suivante: impossible d'inserer cette offre et si j'enlève le or die le script n'affiche rien aidez moi dites moi qu'est ce qu'il ne marche pas dans le script et merci d'avance.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 17 sept. 2010 à 15:02
Salut,
Lyle, au lieu d'écrire des âneries, tu devrais lire correctement ce qui est écrit. En l'occurrence, il n'a pas mis le nom de la table entre guillemet simple, mais entre guillemet oblique : `
La différence est fondamentale : les guillemets obliques servent à protéger le nom de la table s'il contient des caractères spéciaux (par exemple un tiret).
Autre ânerie : la liste des champs est facultative si on fournit toutes les valeurs (de tous les champs).
Le mieux pour aider n'est pas de raconter n'importe quoi, mais de proposer une démarche pour trouver le problème.
@siatu : au lieu de mettre simplement :
or die('....');
Affiche l'erreur MySQL, sinon tu ne pourras jamais avancer dans ton deboguage. Par exemple :
or die(mysql_errno().' : '.mysql_error());
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Lyle56
Messages postés240Date d'inscriptionjeudi 1 mai 2008StatutMembreDernière intervention19 juillet 20122 17 sept. 2010 à 17:15
@neige :
Tu peut même en mettre que 2; même si tu as 10 champs...
Du moment que c'est le 2 premiers et que tout les autres ont une valeur par défaut... mais si tu Insert de cette façon il faut être sur que tu respecte l'ordre des champs. De plus cela à tendance à merdé avec les champ auto-incrémenter si tu met ''.
Ensuite les noms à la con pour les tables et bases auxquels ils faut ajouté les ` ` ; je suis désoler mais c'est à proscrire.
Un petit truc sur les régles de nommages
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 17 sept. 2010 à 18:09
Entre "c'est à proscrire" parce que certaines personnes ont décidé de conventions et "ça fonctionne" parce que les développeurs le permettent, il y a un gouffre. S'il est possible de mettre des noms à la con, on ne va empêcher personne de le faire. On peut l'en décourager, mais pas lui interdire.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
kohntark
Messages postés3706Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 17 sept. 2010 à 20:10
Salut,
Au passage : pense à jeter un oeil sur la doc de mysql_real_escape_string() parce que tel que tu procèdes actuellement c'est les ennuis assurés, ... c'est d'ailleurs peut être la source de tes soucis.