Problème avec stripslashes() en php

Fermé
g33kzone Messages postés 40 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 18 février 2009 - 10 juin 2008 à 12:13
adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 - 10 juin 2008 à 12:23
Bonjour, j'ai un problème , je travaille sur un script d'inscription en php qui à la fin de l'inscription envoi un mail au destinataire pour confirmer son inscription , le probleme est que dans le mail las backslashes que j'ai pourtant enlevé avec stripslashes() sont toujours là , voici mon code :
<?php
		mysql_connect("localhost","root","");
		mysql_select_db("test");
		$inactivite = time() - 86400;
		mysql_query("DELETE FROM user WHERE date < $inactivite AND validation = FALSE"); // on supprime tous les comptes créer et non validés il y a plus de 24 heure
		
		if(isset($_POST['code']) AND isset($_POST['pseudo']) AND isset($_POST['motdepasse']) AND  isset($_POST['adresse']) AND isset($_POST['confirmmotdepasse']))
	{
	if($_POST['code'] == $_SESSION['rando'] AND $_POST['motdepasse'] == $_POST['confirmmotdepasse'])
		{
		$motdepasse = $_POST['motdepasse'];
		$pseudonyme = $_POST['pseudo'];	//ces trois variables seront reutilisé plus tard
		$email = $_POST['adresse'];
		

		if($donnee['nbadresse'] == 0 AND preg_match("/@/",$adresse) == TRUE AND preg_match("#.#",$adresse) == TRUE)
			{
			$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
			$reponse = mysql_query("SELECT COUNT(*) AS nbpseudo FROM user WHERE pseudo = '$pseudo'");
			$donnee = mysql_fetch_array($reponse);
				if($donnee['nbpseudo'] == 0)
				{	
					
					if(strlen($_POST['motdepasse'] )>= 6)
					{
					$time = time();
					$mdp = mysql_real_escape_string(htmlspecialchars($_POST['motdepasse']));
					$mail = mysql_real_escape_string(htmlspecialchars($_POST['adresse'])); //exactement la meme chose que la variable $adresse mais bon ...
					mysql_query("INSERT INTO user VALUES ('','$pseudo','$mdp','$mail',$time,'FALSE')");
										
					$message = "Félicitation ". stripslashes($pseudo) ." vous êtes inscris sur le site , allez à cette adresse pour valider votre inscription : http://g33kzone.free.fr/validerinscription.php?compte=". stripslashes($pseudo) .". Voici votre mot de passe : " . stripslashes($mdp) . ".";  
			
					$_SESSION['erreur'] = "Félicitation vous êtes désormais inscris sur le site , 
					un mail vous as été envoyé pour confirmer votre inscription. 
					Si vous ne le recevez pas reinscrivez vous"; // je saute des lignes parce que sinon ca fait désordre ...
					ini_set("sendmail_from","g33kzone@free.fr"); 
					mail($email,"votre inscription sur le site",$message);
					
					}
					
					else
					{
					$_SESSION['erreur'] = "votre mot de passe n'est pas valide il doit comporter au moin 6 caractères";
					}
					
				}
				else
				{
				$_SESSION['erreur'] = "Ce pseudo est déja utilisé .";
				}
			}
		else
			{
			$_SESSION['erreur'] = "Cette adresse mail est deja assigné à un compte ou n'est pas une adresse valide";
			}
		}
		
		else
		{
		$_SESSION['erreur'] = "mot de passe ou code invalide ";
		}
	}

mysql_close();
?>




en admettant que la personne mette en pseudo yam's le mail envoyé sera celui la :

Félicitation yam\'s vous êtes inscris sur le site , allez à cette adresse pour valider votre inscription : http://g33kzone.free.fr/validerinscription.php?compte=yam\'s. Voici votre mot de passe : motdepasse.
A voir également:

1 réponse

adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 159
10 juin 2008 à 12:23
Essaye en enlevant la fonction mysql_real_escape_string() de partout où elle se trouve.
Tiens moi au courant ... merci

Sinon essaye de la remplacer par addslashes()
0