Resource id #20

Résolu/Fermé
Utilisateur anonyme - 2 déc. 2012 à 00:48
 Utilisateur anonyme - 2 déc. 2012 à 01:04
Bonsoir,


Avant que je ne mette la commande <?php include("fichier.php"); ?> sur tous mes fichiers, je n'avais aucun soucis des réponses des codes php.
Maintenant que je les ai, mes réponses php sont Resource id #20 où bien avec un ID différent.

Mais ce qui me parait étrange, c'est que les codes php ou sont les réponses, ne sont pas avec l'include. Ils sont sur le fichier directement :

Exemple avec le mot de passe oublié :
Veuillez saisir votre email :
<form name="form1" method="post" action="mdp_oublier_2.php">
<input name="mail" type="text" id="mail">
<br>
<br>
<input type="submit" name="Submit" value="Envoyer">
</form>



Fichier mdp_oublier_2.php :
<?
session_start();
require ("conf.php3");


if(empty($_POST['mail']))
{
	$reponse = 'Vous n\'avez pas saisi d\'e-mail.';
}
else
{

	$mail = htmlentities($_POST['mail']);
  
  	$sql = connect_sql();
	
	$verification2 = mysql_query("SELECT COUNT(*) FROM membre WHERE mail='$mail'") or die (mysql_error());
	$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
	
	if($donnees2['COUNT(*)'] != 1)
	{
		$reponse = 'Cette adresse e-mail n\'existe pas.';
	}
	else
	{  
	  
		$sql1 = mysql_query("SELECT * FROM membre WHERE mail='$mail'");
		$donnees = mysql_fetch_array($sql1);
		$login = $donnees['pseudo'];
		$pass = $donnees['pass'];
	
	
		$message = '<html><body>Bonjour,<br><br>';
		$message .= 'Comme vous l\'avez demande,<br>';
		$message .= 'voici un rappel de vos identifiants, notez les precieusement :<br><br>';
		$message .= 'Votre Pseudo : ' . $login .'<br>';
		$message .= 'Votre Code Secret : ' . $pass .'<br><br>';
		$message .= 'A tres bientot sur le site! <br>';
		$message .= 'L\'equipe Archangels</br>';
		
		$entete = "MIME-Version: 1.0\r\n";
		$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
		$entete .= "From: <$email_admin>\r\n";
		$entete .= "Reply-To: $email_admin\r\n";	   
	
		mail($mail,'Rappel de vos identifiants.' , $message, $entete);
	
		$reponse = 'Votre adresse a bien été reconnue.<br>';
		$reponse .= 'Votre Pseudo et votre Code vous ont été envoyés par e-mail.<br>'; 
		$reponse .= 'Vous devriez les recevoir dans votre boîte aux lettres dans quelques instants.';
	}
	
	mysql_close($sql);

}

?>


Et un peu plus bas :
<p><? echo $reponse; ?></p>


Et j'ai le droit à Resource id #18 au lieu de Vous n'avez pas saisi d'e-mail.



J'espère m'être bien expliqué.
Cordialement,

2 réponses

Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
2 déc. 2012 à 00:59
Comme cela, je dirais que ton reponses contient un objet php et non pas un string.

essaye de faire un;

<pre>
<?php print_r($reponse); ?>
</pre><hr>
<?php var_dump($reponse); ?>


apres, tu a une leger erreur d'ecriture je pense (j'ai amais essayer tel que tu le fais)

au lieu de
SELECT COUNT(*) FROM membre


met plutot
SELECT COUNT(*) as nbr FROM membre



ce qui permettra de passer ton
if($donnees2['COUNT(*)'] != 1)


en
if($donnees2['nbr'] != 1)


et place aussi des echo avec des chiffres dans les test afin de savoir simplement par ou passe ton script.
0
Utilisateur anonyme
2 déc. 2012 à 01:04
Bonsoir,

Merci de ta réponse. J'ai essayé sans les <?php include("fichier.php"); ?> et cela à bien marcher.
J'ai trouvé une "solution" : au lieu de mettre $reponse, j'ai mis $reponse2. Je viens de remarqué que j'avais deux fois $reponse sur deux codes différents.

Je passe en résolu,
Merci encore.
0