Bonjour, voilà je suis nouveau et novice dans ce langage, j'ai creer un formulaire html pour une newsletter :
juste une adresse mail qui doit aller dans une base de donnée :
j'envoi mon formulaire sur fichier php
installation.php
mais voilà impossible d'ecrire dans ma table
pas de messages d'erreur mais rien ne se modifie ::
je vous donne la source et j'espre que quelqu'un poura m'aider, car ca fait trois jours ue je suis dessus ett je ne trouve pas l'erreur
<?php
$host = "mon adrese "; /* L'adresse du serveur */
$login = "mon login"; /* Votre nom d'utilisateur */
$password = "mon password"; /* Votre mot de passe */
$base = "philo404236"; /* Le nom de la base */
$link = mysqli_connect("$host", "$login", "$password", "$base");
/* Vérification de la connexion */
if (mysqli_connect_errno())
{
printf("Échec de la connexion password : %s\n", mysql_connect_error());
exit();
}
/* Affichage des informations sur l'hôte */
printf("Informations sur l'hôte : %s\n", mysqli_get_host_info($link));
printf("Version du serveur : %d\n", mysqli_get_server_version($link));
$sonmail = (trim($_POST"email"]));
mysqli_select_db($link,$base);
$query = "insert into mabasenews (mail) values('" . $_POST"email"] . "')";
mysqli_close($link);
voila : pourquoi ca ne mrche pas ?????
même en local avec phpadmyn
ma base de donnée :
2 champs
1 Id auto incrementation
2 mail vchar 30
de l'aide svp
Déjà rien que ça pose problème:
$link = mysqli_connect("$host", "$login", "$password", "$base");
Tu dois mettre " quand tu as des caractères, et non les variables, modifies pour ça:
$link = mysqli_connect($host, $login, $password, $base);
Pour la vérification essaye plutôt:
if (!$link)
{
die("Erreur: ".mysqli_connect_errno());
}
Ensuite tu prépares ta requête sans l’exécuter, il faut faire ça:
$query = 'INSERT INTO mabasenews (mail) VALUES ("' . $sonmail . '")';
mysqli_query($link, $query);
Après je vois pas pourquoi tu met mysqli_select_db($link,$base); alors que la base est sélectionnée avec le mysqli_connect
Enfin tu as créé la variable $sonmail, et tu ne l'utilise pas...
Et aussi essaye d'afficher la variable $sonmail ou $_POST'email'] voir si c'est pas parce que c'est une variable vide, m'enfin même vide, une entrée doit se créer.
$req = mysql_query ("INSERT INTO mabasenews (id,mail) VALUES('" .$email. "')");
Je pense que ça viens de là car tu as dit d'insérer des valeurs dans id et mail, hors tu met que le mail donc il cherche à mettre le mail dans l'id mais plutôt VALUES('','".$email."')
Merci pour ta réponse, mais mysli ne marche pas !!!!
Bon j'ai refais le php
mais toujours pas possible d'inserer das la tble !!!!
Quand je fais un update ca marche, quad j'affiche ca marche
il n'y a vraiment que ce problème qui ne vas pas !!!!
je te remets le php
<?php
$host = "127.0.0.1"; /* L'adresse du serveur */
$login = "root"; /* Votre nom d'utilisateur */
$password = ""; /* Votre mot de passe */
$base = "mabase"; /* Le nom de la base */
$db = mysql_connect($host, $login, $password);
mysql_select_db($base,$db);
$email =trim($_POST"email"]);
if (!$db)
{
die("Erreur: ".mysql_connect_errno());
}
$req = mysql_query ("INSERT INTO mabasenews (id,mail) VALUES('" .$email. "')");
mysql_query($req);
// $requete = mysql_query("UPDATE mabasenews SET mail='$email' WHERE id=4");
// on crée la requête SQL
$sql = 'SELECT id,mail FROM mabasenews ORDER BY mail';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data'id'].' '.$data'mail'].'</b><br> ';
// echo ' <i>nom : '.$data'mail'].'</i><br>';
}
// on ferme la connexion à mysql
mysql_close();// facultative, on ferme la connexion
?>
Ca menerve que je n'y arrive pas !!!
Ok Un grand merci maintenant ca marche !!! ouf
J ai éclairci tout ça c'est plus clair !!!!
<?php
$host = "127.0.0.1"; /* L'adresse du serveur */
$login = "root"; /* Votre nom d'utilisateur */
$password = ""; /* Votre mot de passe */
$base = "mabase"; /* Le nom de la base */
$link = mysql_connect($host, $login, $password);
mysql_select_db($base,$link);
$email =trim($_POST"email"]);
if (!$link)
{
die("Erreur: ".mysql_connect_errno());
}
$req = mysql_query (" INSERT INTO mabasenews VALUES('','".$email."')" );
mysql_query($req,$link);
mysql_close();// facultative, on ferme la connexion
?>
Encore merci pour ton aide
Bonjour j'ai un problème avec mes tableaux !! tout s'affiche bien mes moddifs aussi !!! mai quand je fais les input il n'affiche pas toutes les données il suprime les espaces !!! pourquoi ?