Formulaire vers base MySQL, problème...

Fermé
xactionx59 Messages postés 7 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 26 mars 2010 - 26 mars 2010 à 16:11
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 26 mars 2010 à 18:01
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!
A voir également:

1 réponse

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 mars 2010 à 18:01
<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 !";
		}
		////
	}
}
0