Fatal error: Call to a member function fetch() et mail smtp
Posté : 31 mars 2010, 04:58
Bonjour à tous !
J'ouvre ce topic car je suis en train de programmer un système d'activation de compte pour mon site. Pour activer un compte, php doit envoyer en mail au futur membre, avec le lien d'activation.
Je teste ce script localement, sur Wamp, et j'ai quelque problème pour l'envoi du mail. J'ai fait quelque recherche et j'ai trouvé qu'il fallait définir plusieurs paramètre. Je change donc php.ini :
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.mail.yahoo.fr
auth_username = *mon add. e-mail*
auth_password = *mon mot de passe*
; http://php.net/smtp-port
smtp_port = 465
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = *mon add. e-mail*
erreur :
Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.mail.yahoo.fr" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
en essayant avec le port 25 au lieu d 465 :
Warning: mail() [function.mail]: SMTP server response: 530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html
.
et mon autre problème est celui ci :
include("includes/connexion_mysql.php");//On se connecte à la base sql
if (isset($_GET['nbre']))
{
$clef = $_GET['nbre'];//on récupere la clef d'activation dans une variable si elle existe
}
else
{
$clef = false;//sinon, la variable clef est fausse
}
$activation = $bdd->query('SELECT activation FROM info_utilisateurs'); //On récupère le champs activation, pour le comparer avec la clef d activation
//du $_GET
if ($clef != false)//si la variable clef n'est pas fausse :
{
while ($abc = $activation->fetch())
{
if (in_array ($clef, $activation) == true)//si la clef est trouvée dans l'array :
{
$trouve = true;//la variable trouve est juste
}
}
}
$abc->closeCursor();
erreur :
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\alea\activation.php on line 25
Merci d'avance pour votre aide !
J'ouvre ce topic car je suis en train de programmer un système d'activation de compte pour mon site. Pour activer un compte, php doit envoyer en mail au futur membre, avec le lien d'activation.
Je teste ce script localement, sur Wamp, et j'ai quelque problème pour l'envoi du mail. J'ai fait quelque recherche et j'ai trouvé qu'il fallait définir plusieurs paramètre. Je change donc php.ini :
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.mail.yahoo.fr
auth_username = *mon add. e-mail*
auth_password = *mon mot de passe*
; http://php.net/smtp-port
smtp_port = 465
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = *mon add. e-mail*
erreur :
Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.mail.yahoo.fr" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
en essayant avec le port 25 au lieu d 465 :
Warning: mail() [function.mail]: SMTP server response: 530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html
.
et mon autre problème est celui ci :
include("includes/connexion_mysql.php");//On se connecte à la base sql
if (isset($_GET['nbre']))
{
$clef = $_GET['nbre'];//on récupere la clef d'activation dans une variable si elle existe
}
else
{
$clef = false;//sinon, la variable clef est fausse
}
$activation = $bdd->query('SELECT activation FROM info_utilisateurs'); //On récupère le champs activation, pour le comparer avec la clef d activation
//du $_GET
if ($clef != false)//si la variable clef n'est pas fausse :
{
while ($abc = $activation->fetch())
{
if (in_array ($clef, $activation) == true)//si la clef est trouvée dans l'array :
{
$trouve = true;//la variable trouve est juste
}
}
}
$abc->closeCursor();
erreur :
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\alea\activation.php on line 25
Merci d'avance pour votre aide !