Formulaire vers base MySQL, problème...
xactionx59
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Etant sur un serveur pro chez OVH, je suis en train de creer un formulaire permettant de récuperer les adresses email pour les mettres dans ma base de données MySQL...
Mon site fonctionne en pseudo-frame (d'où les "$action = "newsletter_confirmation";" par exemple).
Le problème c'est que ça ne fonctionne malheureusement pas... Je retombe bien sur ma page de confirmation d'inscription (newsletter_confirmation) mais rien n'apparait sur mon interface MySQL (en serveur perso OVH tout allait, mais sur un serveur pro rien ne va!)...
Voici mon formulaire sur index.php:
<form action="" method="post" onsubmit="return(VerifForm(this))" class="center">
<input id="email" name="email" onclick="if (this.value=='Entrez votre adresse') this.value=''" onkeypress="return valid_mail(event);" type="text" value="Entrez votre adresse" /><input name="newsletter_signup" id="newsletter_signup" type="submit" value="Valider" /></form>
Puis mon code sur index.php:
$action = $_GET['action'];
$dbhost = $_GET['dbhost'];
$dbuser = $_GET['dbuser'];
$dbpass = $_GET['dbpass'];
$dbname = $_GET['dbname'];
$email = $_POST['email'];
$newsletter_signup = $_POST['newsletter_signup'];
(Tous mes identifiants sont exacts sur OVH, j'ai vérifié)
$dbhost = 'mysql5-12.90';
$dbuser = '';
$dbpass = '';
$dbname = 'mief';
$connect = mysql_connect($dbhost,$dbuser,$dbpass);
$db = mysql_select_db($dbname);
if ($newsletter_signup)
{
if(!trim($email))
{
$message = "Vous devez entrer une adresse email.";
}
else
{
$add = mysql_query("INSERT INTO newsletter values('','$email')");
$action = "newsletter_confirmation";
}
}
Ma base de donnée MySQL donne cela:
NOM DE LA BASE DE DONNEE (mief)
newsletter
Et dans newsletter nous avons:
id int(255) auto_increment (PRIMARY)
email varchar(255) utf8_unicode_ci
Pouvez-vous m'aider, svp?
Merci et bonne soirée!
Etant sur un serveur pro chez OVH, je suis en train de creer un formulaire permettant de récuperer les adresses email pour les mettres dans ma base de données MySQL...
Mon site fonctionne en pseudo-frame (d'où les "$action = "newsletter_confirmation";" par exemple).
Le problème c'est que ça ne fonctionne malheureusement pas... Je retombe bien sur ma page de confirmation d'inscription (newsletter_confirmation) mais rien n'apparait sur mon interface MySQL (en serveur perso OVH tout allait, mais sur un serveur pro rien ne va!)...
Voici mon formulaire sur index.php:
<form action="" method="post" onsubmit="return(VerifForm(this))" class="center">
<input id="email" name="email" onclick="if (this.value=='Entrez votre adresse') this.value=''" onkeypress="return valid_mail(event);" type="text" value="Entrez votre adresse" /><input name="newsletter_signup" id="newsletter_signup" type="submit" value="Valider" /></form>
Puis mon code sur index.php:
$action = $_GET['action'];
$dbhost = $_GET['dbhost'];
$dbuser = $_GET['dbuser'];
$dbpass = $_GET['dbpass'];
$dbname = $_GET['dbname'];
$email = $_POST['email'];
$newsletter_signup = $_POST['newsletter_signup'];
(Tous mes identifiants sont exacts sur OVH, j'ai vérifié)
$dbhost = 'mysql5-12.90';
$dbuser = '';
$dbpass = '';
$dbname = 'mief';
$connect = mysql_connect($dbhost,$dbuser,$dbpass);
$db = mysql_select_db($dbname);
if ($newsletter_signup)
{
if(!trim($email))
{
$message = "Vous devez entrer une adresse email.";
}
else
{
$add = mysql_query("INSERT INTO newsletter values('','$email')");
$action = "newsletter_confirmation";
}
}
Ma base de donnée MySQL donne cela:
NOM DE LA BASE DE DONNEE (mief)
newsletter
Et dans newsletter nous avons:
id int(255) auto_increment (PRIMARY)
email varchar(255) utf8_unicode_ci
Pouvez-vous m'aider, svp?
Merci et bonne soirée!
A voir également:
- Formulaire vers base MySQL, problème...
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Base de registre - Guide
- Formulaire de reclamation instagram - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
1 réponse
<form action="" method="post" onsubmit="return(VerifForm(this))" class="center"> <input id="email" name="email" onclick="if (this.value=='Entrez votre adresse') this.value=''" onkeypress="return valid_mail(event);" type="text" value="Entrez votre adresse" /> <input name="newsletter_signup" id="newsletter_signup" type="submit" value="Valider" /></form> Puis mon code sur index.php: <?php //dans le formulaire tu fais deux fois appel a une verification javascript ? //onsubmit="return(VerifForm(this))" // et onkeypress="return valid_mail(event);" // a mon avis une seulle suffit si elle est correcte //d'ou proviennent ces GET ? $action = $_GET['action']; $dbhost = $_GET['dbhost']; $dbuser = $_GET['dbuser']; $dbpass = $_GET['dbpass']; $dbname = $_GET['dbname']; //(Tous mes identifiants sont exacts sur OVH, j'ai vérifié) //a quoi ça sert de les avoir recuperes en GET plus haut si tu les ecrase ci dessous ? $dbhost = 'mysql5-12.90'; $dbuser = ''; // j'espère que tu as un user $dbpass = ''; //et un mot de pass $dbname = 'mief'; //un peu de trace d'erreurs par or die,tu les enlevera quand tout sera ok $connect = mysql_connect($dbhost,$dbuser,$dbpass) or die ("Pb connexion serveur: ".mysql_error()); $db = mysql_select_db($dbname) or die ("Pb selection base: ".mysql_error()); if(isset($_POST['newsletter_signup']) { if(empty($_POST['email'])){ $message = "Vous devez entrer une adresse email."; }else{ $email = mysql_escape_string($_POST['email']); //securiser un peu mysql $add = mysql_query("INSERT INTO newsletter values('','$email')") or die ("Pb avec la requette INSERT: ".mysql_error()); $action = "newsletter_confirmation"; //// ça c'est pour toi poour debugger if($add){ echo "Insertion reussie dans la BDD !"; }else{ echo "Pb d'insertion dans la BDD !"; } //// } }