Pb code php

Fermé
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 - 10 sept. 2008 à 08:42
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 15 sept. 2008 à 18:23
Bonjour,

J'ai créé une newletter j'arrive à intégrer le mail dans ma BDD mais j'ai 2 problèmes :

- je n'arrive pas à vérifier le bon format de l'adresse mail
- je n'arrive pas à vérifier si l'adresse existe déjà dans la BDD si non alors j'intègre si oui alors je rejète

voilà mon code :

<?php

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if(!email){
die("L'adresse email n'est pas valide, arrêt du traitement");
}

mysql_connect("localhost", "root", ""); //On remplace les information par la vraie bdd
mysql_select_db("contact_site");

switch ($_POST['inscriptiondesinscription']) {

elseif case 'inscription':
mysql_query("INSERT INTO newsletter VALUES('". $_POST['email'] ."')");
$message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email'];
break;

case 'desinscription':
mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'");
$message='Votre désinscription a bien été prise en compte';
break;

default:

}
?>

Merci pour votre aide
A voir également:

3 réponses

nico3009 Messages postés 103 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 31 mars 2012 1
10 sept. 2008 à 09:11
Quel est ton message d'erreur?
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 sept. 2008 à 09:17
Tu as qq chose de bizarre là:

switch ($_POST['inscriptiondesinscription']) {

elseif case 'inscription':
......


il faut:

switch ($_POST['inscriptiondesinscription']) {

 case 'inscription':
......
 
-1
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
10 sept. 2008 à 09:50
oups j'ai mis ma bidouille lol voilà le bon code

<?php

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if(!email){
die("L'adresse email n'est pas valide, arrêt du traitement");
}

mysql_connect("localhost", "root", ""); //On remplace les information par la vraie bdd
mysql_select_db("contact_site");

switch ($_POST['inscriptiondesinscription']) {

case 'inscription':
mysql_query("INSERT INTO newsletter VALUES('". $_POST['email'] ."')");
$message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email'];
break;

case 'desinscription':
mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'");
$message='Votre désinscription a bien été prise en compte';
break;

default:

}
?>
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015
10 sept. 2008 à 14:05
Salut,

qqs erreurs, essayes comme ça:

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if(!$email){ //il te manquait le $
	echo "L'adresse email n'est pas valide";
	exit();
}else{

	mysql_connect("localhost", "root", "") or die("Pb connexion serveur ".mysql_error()); //On remplace les information par la vraie bdd
	mysql_select_db("contact_site") or die("Pb selection base ".mysql_error());

	switch ($_POST['inscriptiondesinscription']) {
		case 'inscription':
		//verif si existe déja
		$result=mysql_query("SELECT * FROM newsletter WHERE email='".$_POST['email']."'") or die("Pb req select ".mysql_error());
		if(mysql_num_rows($result)>0){
			echo "L'adresse email existe d&eacute;ja";
			exit();
		}else{
			$insert=mysql_query("INSERT INTO newsletter SET(email) VALUES('". $_POST['email'] ."')")or die("Pb req insert ".mysql_error());
			if($insert) $message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email'];
		}
		break;

		case 'desinscription':
		
		$oter=mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'")or die("Pb req delete ".mysql_error());
		if($oter)$message='Votre désinscription a bien été prise en compte';
		break;
	}
}
?>
-1
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
10 sept. 2008 à 14:26
Euh là dès que je clique sur valider ça me ressort un bout de code ...

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); if(!$email){ //il te manquait le $ echo "L'adresse email n'est pas valide"; exit(); }else{ mysql_connect("localhost", "root", "") or die("Pb connexion serveur ".mysql_error()); //On remplace les information par la vraie bdd mysql_select_db("contact_site") or die("Pb selection base ".mysql_error()); switch ($_POST['inscriptiondesinscription']) { case 'inscription': //verif si existe déja $result=mysql_query("SELECT * FROM newsletter WHERE email='".$_POST['email']."'") or die("Pb req select ".mysql_error()); if(mysql_num_rows($result)>0){ echo "L'adresse email existe déja"; exit(); }else{ $insert=mysql_query("INSERT INTO newsletter SET(email) VALUES('". $_POST['email'] ."')")or die("Pb req insert ".mysql_error()); if($insert) $message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email']; } break; case 'desinscription': $oter=mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'")or die("Pb req delete ".mysql_error()); if($oter)$message='Votre désinscription a bien été prise en compte'; break; } } ?>
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015
10 sept. 2008 à 14:32
Ben oui il faut qd même mettre les <?php au début et ?> à la fin
-1
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
10 sept. 2008 à 15:08
effectivement j'avais oublié l'ouverture <?

je l'ai remise et j'ai la même erreur sauf que c'est ce bout qui s'affiche

0){ echo "L'adresse email existe déja"; exit(); }else{ $insert=mysql_query("INSERT INTO newsletter SET(email) VALUES('". $_POST['email'] ."')")or die("Pb req insert ".mysql_error()); if($insert) $message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email']; } break; case 'desinscription': $oter=mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'")or die("Pb req delete ".mysql_error()); if($oter)$message='Votre désinscription a bien été prise en compte'; break; } } ?>
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 sept. 2008 à 18:23
Me revoilà:

essayes comme ça:

<?php
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if(!$email){ //il te manquait le $
	echo "L'adresse email n'est pas valide";
	exit();
}else{

	mysql_connect("localhost", "root", "") or die("Pb connexion serveur ".mysql_error()); //On remplace les information par la vraie bdd
	mysql_select_db("contact_site") or die("Pb selection base ".mysql_error());

	switch ($_POST['inscriptiondesinscription']) {
		case 'inscription':
		//verif si existe déja
		$result=mysql_query("SELECT * FROM newsletter WHERE email='".$_POST['email']."'") or die("Pb req select ".mysql_error());
		if(mysql_num_rows($result)== 1){
			echo "L'adresse email existe d&eacute;ja";
			exit();
		}else{
			$insert=mysql_query("INSERT INTO newsletter SET(email) VALUES('". $_POST['email'] ."')")or die("Pb req insert ".mysql_error());
			if($insert) $message='Vous allez désormais recevoir notre Newsletter à ladresse '. $_POST['email'];
		}
		break;

		case 'desinscription':
		
		$oter=mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'")or die("Pb req delete ".mysql_error());
		if($oter)$message='Votre désinscription a bien été prise en compte';
		break;
	}
}
?>
-1