J'arrive pas à faire marcher la fonction insert

Résolu
honey87 Messages postés 119 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 9 novembre 2013 - 22 juin 2011 à 18:28
honey87 Messages postés 119 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 9 novembre 2013 - 24 juin 2011 à 17:40
bonjour tout le monde,
je voudrais faire une newsletter dans mon site mais je ne sais pas pourquoi les valeurs qu'on saisie dans la zone de texte ne s'affiche pas dans la base de données, voilà les étapes que j'ai fais
1) j'ai créé un fichier qui s'appel insert_newsletter.php ou j'ai mis ce code là (
[b]<?
include "connexion.php";

$email=$_POST['email'];

$email=str_replace("'","`",$email);

$sql="insert into newsletter(email) values('$email')";

mysql_query($sql);

header("location:index.php");
?>/b)

2) et puis j'ai créé une table qui s'appel "newsletter" ou il ya un champs qui s'appel "email"

3) je suis allée au fichier ou il ya la zone de texte et j'ai fais cela
(<form id="form1" name="form1" method="post" action="insert_newsletter.php">
<label>

</label>
<label>

</label>
</form>)
.
.
.
mais ca ne marche pas :(, je ne sais pas ou j'ai commis l'erreur, SVP j'ai besoin de votre aide, et j'espere que je vous ai bien expliqué

2 réponses

m_abdlmalek Messages postés 21 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 5 septembre 2011
22 juin 2011 à 21:21
Bonjour,

Une proposition de code alternatif pour insert_newsletter.php et quelques remarques sait-on jamais si çà peut t'aider :

<?php
include "connexion.php";
$email=$_POST['email'];
$email=str_replace("'","`",$email);

$sql='insert into newsletter VALUES("'.mysql_escape_string($email).'")';
$req=mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

header("location:index.php");
?>

- je crois pas la peine de mettre entre () pour le insert le champ que contient la table çà ne va rien changer de toute façon.
- vu que $email vient dun Post, peut-être le nettoyer avec mysql_escape_string on sait jamais les gens pourraient mettre n'importe quoi ...
- remplacer ton mysql_query par une fonction avec un "or die" pour afficher une erreur s'il y en a une.

- Peut-être déjà faut-il aussi nous donner le contenu des scripts "connexion.php" vu que tu le mets en include dans le php et que tu renvoies l'utilisateur ensuite vers "index.php" (sauf si c'est hyperconfidentiel dans ce cas change les variables ) peut-être que le problème vient de là aussi.... Ceci dit la requête étant indépendante c'est que c'est surement de la syntaxe SQL.

Pour le formulaire HTML çà a l'air bon quoique j'ai un doute côté affichage. Juste fais attention que insert_newsletter.php soit dans le même dossier que la page du formulaire HTML parce que c'est ce que tu as paramétré...

Voilà sinon bonne chance espérons que çà marche si jamais tu reçois un msg d'erreur envoie-le.

Espérant t'avoir aidé ...

Cordialement

Google never dies...
3
honey87 Messages postés 119 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 9 novembre 2013
24 juin 2011 à 17:40
oui effectivement, j'ai réalisé que le fichier insert_newsletter n'étais pas dans le même répertoire que le formulaire
merci bcp c gentil
3
Rejoignez-nous