ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR MAIL

stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012 - 20 déc. 2011 à 13:56
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012 - 16 sept. 2012 à 10:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53894-acces-espace-membre-avec-inscription-et-desinscription-par-mail

cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
16 sept. 2012 à 10:12
Bonjour COD57,

Encore moi,
je viens vous demander encore un service, si c'est possible, je suis toujours sur un petit soucis de script, en effet jai trois messages d'erreur que je n'arrive pas à solutionner, j'avais laissé tombé, puis là je voudrais vraiment le finir une bonne fois pour toute.

Voilà mes trois erreurs :
Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/1/2/xxxxxxxxx/se/secret/config.php:1) in /mnt/105/sda/1/2/xxxxxxxxx/se/connexion.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/1/2/xxxxxxxxx/se/secret/config.php:1) in /mnt/105/sda/1/2/xxxxxxxxx/se/connexion.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /mnt/105/sda/1/2/xxxxxxxxx/se/secret/config.php:1) in /mnt/105/sda/1/2/xxxxxxxxx/se/connexion.php on line 99

voici les ligne dans le fichier config.php :

ligne87 setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
ligne88 setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
ligne99 header("Location: index.php");

Si vous pouvez m'aider, à résoudre mon soucis !

Cordialement Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 19:16
Bonsoir COD57,

Bon maintenant que je reçois le mail, et que le informations sont bien enregistrées dans la base de donnée, je vais me pencher sur la connexion, encore un petit soucis, mais c'est pas grave, ensuite je pourrais même si le script est basic, étudier de plus prêt le php

Donc encore deux ou trois lignes d'érreurs a faire disparraitre et je pense que ce sera bien,

Merci pour toutes ses infos, et puis à moi de bien lire les informations, si je ne veux pas tourner en bourique
Cordialement,
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 18:41
Bonsoir cod57,

Bien je viens donc si tu me permet de te tutoyer te dire que tout est Ok, du moins l'envoie du mail, je recois bien le mail sur ma messagerie.

Alors pour te remercier, voilà ce que j'ai à te dire :
Je suis un gros con, je me suis pris la tête pendant au moins 3 jours, tout cela pour une histoire de

$dbuser="Mon Non" pour accéder à la base
$dbpass="Mon mot de passe" pour ouvrir ma base de donnée

En fait tout été correct sauf que j'ai ômis de renseigner ce que je viens de t'écrire
Voilà, je tiens à te remercier de ta patience, et de ta généreuse gentillesse.
Bon sur ce je continue mes test et te tiendrais informé de la suite des évènement

Bonne fin de weekend
Merci encore
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 18:16
cod57 bonsoir,

Oui en effet je comprend bien ce que tu veux me dire, j'ai donc fait une mauvaise configuration du script comme tu me le dis, j'ai mis Root au lieu de mon non de connexion je pense ?
Je teste et te tiens informé, encore merci pour ta patience, je suis désolé de te déranger aussi souvent

Cordialement,
Didier
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 sept. 2012 à 16:19
@dpo

<?php
$dbhost="sql.free.fr"; // adresse du serveur de la base de donnée
$dbuser="root"; // nom personnel de la base de donnée
$dbpass=""; // code de la base de donnée
$db="xxxxxx"; // nom de la base de donnée
?>

mais

ex ton site monsite.free.fr

dans le fichier php déposé chez free
<?php
$dbhost="localhost"; // adresse du serveur de la base de donnée
$dbuser="monsite"; // nom personnel de la base de donnée
$dbpass="xxxxxx";
// code de la base de donnée le tien qui te sert à lire tes
// mails chez free
$db="???"; // celle que tu as en te connectant sur sql.free.fr
depuis ton navigateur ça ressemble à $dbuser
?>
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 15:54
Bonjour cod57,

Par contre je ne comprends pas ce codage :

$v=mysql_real_escape_string(strip_tags(trim($v)));

ce qui me donne également une erreur
Cordialement,
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 15:52
Bonjour cod57,

Je viens de regarder l'erreur à la ligne 74 concernant la connexion a la base de donnée, sur cette ligne, j'ai ceci :
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres de configuration
mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db("$db");
nettoieProtect();
extract($_POST);
pour moi cela veut bien dire que les valeurs sont correctes puisque j'ai dans le fichier config ceci :

$dbhost="sql.free.fr"; // adresse du serveur de la base de donnée
$dbuser="root"; // nom personnel de la base de donnée
$dbpass=""; // code de la base de donnée
$db="xxxxxx"; // nom de la base de donnée

Bon je continue à chercher, cela me fait au moins travailler le neuronnes
Cordialement,
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 15:39
Bonjour cod57,

Je viens de créer un fichier php.ini, car je ne le trouve pas avec ceci :

<?php
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost old
SMTP = smtp.free.fr
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = xxxxxxx@free.fr
?>
j'ai toujours le problème de connexion à ma base mysql

Cordialement,
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 15:34
Bonjour cod57,

Bon je constate que j'ai bien une erreur d'accés à ma base de donnée, le paramétrage est le suivant :
<?php

$dbhost="sql.free.fr"; // adresse du serveur de la base de donnée
$dbuser="root"; // nom personnel de la base de donnée
$dbpass=""; // code de la base de donnée
$db="xxxxxx"; // nom de la base de donnée
?>
cela me semble correct.
et voilà la base sql sans aucunes modifications :
CREATE TABLE `Comptes_Utilisateurs` (
`ID_Utilisateur` bigint(20) NOT NULL auto_increment,
`Nom_Propre` varchar(30) collate latin1_german2_ci NOT NULL,
`Prenom` varchar(30) collate latin1_german2_ci NOT NULL,
`Nom_Utilisateur` varchar(20) collate latin1_german2_ci NOT NULL,
`Mot_De_Passe` varchar(32) collate latin1_german2_ci NOT NULL,
`Adresse_Email` varchar(255) collate latin1_german2_ci NOT NULL,
`Date_Inscription` int(10) NOT NULL default '0',
`Compte_Active` enum('0','1') collate latin1_german2_ci NOT NULL default '0',
`Clef_Activation` varchar(8) collate latin1_german2_ci NOT NULL,
`ip` varchar(20) collate latin1_german2_ci NOT NULL,
`Date_Connexion` int(10) NOT NULL default '0',
`Clef_Suppression` varchar(8) collate latin1_german2_ci NOT NULL,
PRIMARY KEY (`ID_Utilisateur`)

) lors de la requette j'ai pas eu de messages d'erreurs
Cordialement,
Didier

Au pire si vous avez un script fonctionnel je prend, je suis convaincue que cela ne m'avancera pas, mais là je ne mens sort pas, boin ne perdons pas courrage
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 15:21
Bonjour COD57,

Merci pour votre réponse,

En effet je souhaite utiliser ce script sur le serveur free.fr en action comme vous dites,
cependant je rencontre des difficultés, pour le faire fonctionner correctement.
avec de messages d'erreurs de ce type :
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 74

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 85

et là je n'arrive pas à m'en sortir, j'ai encore regardé ma base elle me semble bien constitué, cependant je pense ne pas pouvoir m'y connecter à ce que dit le message

Cordialement Didier
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 sept. 2012 à 14:43
@ DPO

bonjour

Comment veux tu utiliser ce script ?

En local, chez toi pour faire une maquette
ou en action (je dirai) donc chez un "hébergeur gratuit" comme free.fr. Les question que tu te poses tu devrais les posées sur le forum, il y aura plus de réponses et surtout tu peux publier le code qui bug. Sur free.fr tu n'a rien a activé il l'on fait pour toi tu auras ton mail dans ta boite te ton identifiant.

cordialement
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
2 sept. 2012 à 13:42
Bonjour COD57,

J'essaye de faire fonctionner ce script par rapport aux informations données, cependant je pense ne pas être assez calé pour y arriver.
Vous me parlez de la fonction mail, c'est là ou je bute je ne vois pas ou faire exactement cette modif, d'autant plus que vous me précisez que vous avez effectué un test et tout est ok.
depuis notre derniere entrevue je me tape la tête afin de ne pas trop venir vous déranger sur des questions stupîdes que je peux demander, mais là je suis perdu si on peut dire.
Vous me parlez également d'un fichier php.ini, hélas je ne le trouve pas même en consultant ma base ave ftpperso.free.fr, car je suis chez free.fr
dans la partie des mes fichiers je n'ai pas php.ini

Si toute fois vous avez pitié (lol) j'ai besoin de votre aide pour faire cette modif, Merci.

Cordialement,
Didier
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
1 sept. 2012 à 09:49
Bonjour COD57,

Encore merci pour le travail et la recherche que vous faites afin de m'aider.

Je n'avais pas ces infos, j'avais regardé la fonction envoie e_mail, mais hônnetement sans plus, je comprend mieux maintenant et d'autant plus que chaque serveur doit avoir sa propre installation.
Je vais coder ces lignes et faire un test, je ne manquerais pas de vous tenir informé

PS:/Dans ma partie loisir, je suis démonstrateur de modèles réduits ( Hélico exclusivement ), c'est un plaisir pour moi de donner des informations sur le fonctionnement et les réglages de mes machines, mais ici dans ce domaine pour moi tout nouveau, je crains d'être un peut ridicule de venir poser tout un tas de questions, mais si je veux comprendre et progresser pour ma connaissances simplement, je vous dis merci pour toute votre aide et une grande continuation à vous.

Cordialement,
Didier
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 août 2012 à 18:30
@DPO

http://abyz.free.fr/em/

j'ai installé le script sur free.fr il fonctionne, aucun problème. Ce script n'est pas de moi, il doit être amélioré il est très scolaire et basique. Faut voir comment tu l’intègres dans ton projet. La fonction mail() doit être paramétrée dans serveur local.

dans ton php.ini
si tu es chez NEUF/sfr ...

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost old
SMTP = smtp.neuf.fr
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = xxxxxxxxxxxxx@neuf.fr

et voir dans ta box si tu peux envoyer vers par d'autres smtp.

sur free c'est auto je crois une limite à 2000 mails/mois

++
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 16:29
Bonjour,

Merci COD57 pour toutes ces infos, j'ai ma base déjà activée chez free.fr.
J'ai donc un raccourci pour accéder directement sur ma base chez free.fr
Je vois donc toute la structure de la base de donnée.

Lorsque j'effectue un test en locla, j'ai une ligne d'erreur mais l'enregistrement s'effectue bien, puisque dans la basxe je récupère les informations.
cela coince au niveau de l'envoie du mail et donc de son activation.
Par contre en la testant sur le serveur cela donne que des messages d'erreurs comme j'ai noté plus haut.

Pour votre info:
il y a un ?> en trop à la fin ... echo testmydb();?> ?> mais
echo testmydb();?>

je ne vois pas sur quel fichier faire la modif, ou alors j'ai mal regardé

Cordialement,
Didier
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 août 2012 à 16:09
il y a un ?> en trop à la fin ... echo testmydb();?> ?> mais
echo testmydb();?>
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 août 2012 à 16:05
@Juste une info, je teste ce script sur un serveur free.fr, y à t'il des informations particulières à renseigner, pour un bon fonctionnement?
Ces messages d'erreurs proviennent il de ma base de donnée?

chez free tu peux tester

<?php
/***************************/

// /!\ il faut activer ton compte et sa base php/mysql chez free
// dans leur panneau administration sur leur site 24h a 48h attendre
//si deja fait

//il faut aller sur ftpperso.free.fr et te loguer
//avec tes identifiants free
//depuis ton navigateur tu vera ta base
//et le phpmyadmin de free
//le non de ta base à gauche comme
//dans wamp ou easyphp en local

/****************************/

/*appel ce fichier test.php et lance le
depuis tonsite.free.fr/test.php ...
*/

function testmydb(){

/*test chez free*/

/*personnalise ces lignes**/
$serveur = 'localhost';
$user = 'ton_identifiant_free';
$pass = 'ton_motdepasse_free';
$base = 'ressemble_a_ton_identifiant_free'; //celui dans phpmyadmin de free

/***************************/
//il faut aller sur ftpperso.free.fr et te loguer
//avec tes identifiants
//depuis ton navigateur tu vera ta base
//
/****************************/

if(mysql_connect($serveur,$user,$pass)){
$message='ok bdd';
}else{
$message='bdd injoignable';
}

if(mysql_select_db($base)){
$message='ok db';
}else{
$message='db injoignable';
}

if(isset($message)){return $message;}else{}
}

echo testmydb();
?>

?>
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 15:25
Bonjour,

Juste une info, je teste ce script sur un serveur free.fr, y à t'il des informations particulières à renseigner, pour un bon fonctionnement?
Ces messages d'erreurs proviennent il de ma base de donnée?

En local en effet j'ai une erreur de type :
Strict Standards: Only variables should be passed by reference in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\se\creer-compte-utilisateur.php on line 169
Une erreur est survenue lors de l'envoi du mail d'activation
Veuillez contacter l'administrateur afin d'activer votre compte

Donc je pense qu'il faut que je corrige d'abord avant de la tester sur le serveur
Si vous pouvez m'aider, Merci.
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 15:18
Bonjour,

Je viens de vérifier, j'ai bien ces deux lignes:

ligne 74 mysql_select_db("$db");
ligne 75 nettoieProtect();
qui sont dans le script que je tente de faire fonctionner

J'essaye de trouver tout seul, mais c'est pas évident, surtout que le php est pour moi tout nouveau

Merci COD57
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
31 août 2012 à 14:47
bonjour

je dirai que tu n'es pas connecté sur le serveur donc la base si tu veux utiliser la fonction mysql_real_escape_string()

tu dois avoir une connection active

//ligne 74
mysql_select_db("$db");
nettoieProtect();
/*mysql_real_escape_string() est là la fonction dans cette autre fonction*/

++
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 14:20
Bonjour,

Aprés avoir envoyé les fichiers sur mon serveur par ftp j'obtiens ces messages:

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 74

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 6

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 14

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/105/sda/1/2/dpezzutto/se/creer-compte-utilisateur.php on line 85


Quelqu'un peut maider merci!
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 13:45
Bonjour,

Voilà je teste en local le script et j'ai ce message d'érreur :

Strict Standards: Only variables should be passed by reference in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\se\creer-compte-utilisateur.php on line 169
Une erreur est survenue lors de l'envoi du mail d'activation
Veuillez contacter l'administrateur afin d'activer votre compte

Je ne sais pas si c'est une erreur normale puisque je suis en local
Si quelqu'un peut m'aider, Merci !
cs_DPO Messages postés 33 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 31 août 2012
31 août 2012 à 13:26
Bonjour,

Je teste ce script sur un serveur local, et je rencontre ce message d'erreur :
Strict Standards: Only variables should be passed by reference in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\se\creer-compte-utilisateur.php on line 169
Puis je avoir une info sur cette érreur

Merci
cs_ractance Messages postés 2 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 3 octobre 2013
24 févr. 2012 à 06:29
Bonjour,est il possible de renseigner le champ To dans le message reçut pour l'activation .
a++
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 déc. 2011 à 19:48
bonsoir

j'ai remarqué que le fichier supprimer.php est léger au niveau sécurité
mysql_real_escape_string($tutu) serait souhaitable
si on connait le mail d'un membre on peut le supprimer direct depuis l'url
supprimer.php?Adresse_Email=toto@free.fr
tu devrais protéger avec une clé comme dans l'activation
le message de suppression s'affiche réussi ou pas il y a une erreur de logique

++
lacoste2209 Messages postés 1 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 29 décembre 2011
29 déc. 2011 à 15:05
Salut; Moi aussi j'ai le même problème!! erreur d'accès à la base lors de la création du compte utilisateur. :S :S, tu peux m'expliquer l'erreur STP?
ryosama Messages postés 35 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 2 février 2009
27 déc. 2011 à 08:44
Bonjour,

Je me permet de corriger l'expression régulière ligne 46 :
^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$

Il y a une erreur pour matcher un point. Ce n'est pas "." mais "\."
"." signifie n'importe quel caractère hors ici seul le point nous interesse.
La bonne expression est :
^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]{2,}\.[a-zA-Z]{2,4}$

encore mieux en utilisant preg_match et le modifier "i"
/^[A-Z\d\._-]+@[A-Z\d\.-]{2,}\.[A-Z]{2,4}$/i
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
26 déc. 2011 à 20:31
bonjour

j'ai remarqué dans desinscription-compte-utilisateur.php il faut mettre
ligne 5
$Adresse_Email = isset($_POST['TB_Adresse_Email']) ? $_POST['TB_Adresse_Email'] : null;
ligne 119
<?php } if(isset($masquer_formulaire) && $masquer_formulaire != true) { ?>
car ces variables ne sont pas définies

a++
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
26 déc. 2011 à 12:25
Je crois que ce serait pas mal si il y avait un fichier .css pour regrouper toutes les mises en forme, non ?
Ou alors l'intégrer dans le fichier .css du site dans lequel on place cet espace membres.

Si je le fais je le mettrais ici ! ([em]En deux versions qui, si je réfléchis bien, sera une seule , en fait .../em )
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
26 déc. 2011 à 09:41
C'est un script qui ressemble étrangement et qui existe déjà pour l'avoir vu sur http://www.asp-php.net/tutorial/asp-php/creer-un-espace-membre-en-php.php?page=2
cs_arta Messages postés 98 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 24 juillet 2013
26 déc. 2011 à 06:57
Bonjour

Pour suivre .....
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
21 déc. 2011 à 19:45
bonjour
Pour l'inscription 'non', mais faudrait que je regarde le reste ! Dés que j'ai un peu de temps.
Tu pourrais cacher config.php dans un répertoire secret/config.php avec un .htaccess avec deny from all ...
++
stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012
21 déc. 2011 à 19:27
Pardon, pour l'erreur, c'est de ma faute, une bêtise qui trainait.
COD57, Penses-tu qu'il y a d'autres choses à changer ou à améliorer?

Je pense que je vais me replonger dans les bouquins pour une grosse mise à jour!!!
stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012
21 déc. 2011 à 18:41
Merci Cod57. Gros boulot!!
J'ai changer tous les preg_match des autres pages.
Par contre, je me retrouve avec une erreur lors de l'inscription.
erreur d'accès à la base lors de la création du compte utilisateur.
Y-a-t-il quelque chose à changer dans ma base de donnée?
je ne comprend pas ce que fait print_r($_post);

Merci encore
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
20 déc. 2011 à 21:06
creer-compte-php.php
voilà une correction plus secure

<?php
function nettoieProtect(){

foreach($_POST as $k => $v){
$v=mysql_real_escape_string(strip_tags(trim($v)));
$_POST[$k]=$v;
}
foreach($_GET as $k => $v){
$v=mysql_real_escape_string(strip_tags(trim($v)));
$_GET[$k]=$v;
}
foreach($_REQUEST as $k => $v){
$v=mysql_real_escape_string(strip_tags(trim($v)));
$_REQUEST[$k]=$v;
}

}

//print_r($_POST);
//require "config.php";

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");exit;
}
else
{

// Formulaire visible par défaut
$masquer_formulaire = false;

// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{

// Vérification de la validité des champs
if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Nom_Propre']))
{
$message = 'Votre nom propre doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}


if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Prenom']))
{
$message = 'Votre nom d\'utilisateur doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}
if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Nom_Utilisateur']))
{
$message = 'Votre nom d\'utilisateur doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}
elseif(!preg_match('/^[A-Za-z0-9]{4,}$/',$_POST['TB_Mot_de_Passe']))
{
$message = 'Votre mot de passe doit comporter au moins 4 caractères';
}
elseif($_POST['TB_Mot_de_Passe'] != $_POST['TB_Confirmation_Mot_de_Passe'])
{
$message = 'Votre mot de passe n\'a pas été correctement confirmé';
}


elseif(!preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/',
$_POST['TB_Adresse_Email']))
{
$message = 'Votre adresse e-mail n\'est pas valide';
}
else
{

require 'config.php';
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);
nettoieProtect();
extract($_POST);
// Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
$result = mysql_query("
SELECT Nom_Utilisateur
, Adresse_Email
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '".$TB_Nom_Utilisateur."'
OR Adresse_Email = '".$TB_Adresse_Email."'
");

// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
}
else
{

// Si un enregistrement est trouvé
if(mysql_num_rows($result) > 0)
{

while($row = mysql_fetch_array($result))
{

if($TB_Nom_Utilisateur === $row['Nom_Utilisateur'])
{
$message='Le nom d\'utilisateur '.$TB_Nom_Utilisateur;
$message.=' est déjà utilisé';
}
elseif($TB_Adresse_Email === $row['Adresse_Email'])
{
$message = 'L\'adresse e-mail '.$TB_Adresse_Email;
$message .= ' est déjà utilisée';
}

}

mysql_close();
}
else
{

// Génération de la clef d'activation
$caracteres=array('a','b','c','d','e','f',0,1,2,3,4,5,6,7,8,9);
$caracteres_aleatoires=array_rand($caracteres,8);
$clef_activation=null;

foreach($caracteres_aleatoires as $i)
{
$clef_activation .= $caracteres[$i];
}
// Création du compte utilisateur
$result = mysql_query("
INSERT INTO Comptes_Utilisateurs(
Nom_Propre
,Prenom
,Nom_Utilisateur
,Mot_de_Passe
,Adresse_Email
,Date_Inscription
,Clef_Activation
,ip
)
VALUES(
'".$TB_Nom_Propre."'
,'".$TB_Prenom."'
,'".$TB_Nom_Utilisateur."'
,'".md5($TB_Mot_de_Passe."'
,'".$TB_Adresse_Email."'
,'".time()."'
,'".$clef_activation."'
,'".$ip=$_SERVER['REMOTE_ADDR']. "'
)
");

// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
}
else
{

// Envoi du mail d'activation
$sujet = "Activation de votre compte utilisateur";

$message = " Ce mail vous a été envoyer car il a été enregistré lors de l'inscription sur le \n";
$message .= "site de (votre site). Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
//$message .= "http://" . $_SERVER["SERVER_NAME"];
$message .= 'http://'.$_SERVER['HTTP_HOST'];
$end=end(explode('/',$_SERVER['PHP_SELF']));
$rep=str_replace($end,'',$_SERVER['PHP_SELF']);
$message .= $message.$rep.'activer-compte-utilisateur.php?id='.mysql_insert_id();
$message .= '&clef='.$clef_activation;

// Si une erreur survient
if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
{
$message = "Une erreur est survenue lors de l'envoi du mail d'activation
\n";
$message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
}
else
{

// Message de confirmation
$message = "Votre compte utilisateur a correctement été créer
\n";
$message .= "Un email vient de vous être envoyer afin de l'activer";

// On masque le formulaire
$masquer_formulaire = true;

}

}

mysql_close();
}

}

}

// Fermeture de la connexion à la base de données
//

}

} //cookie

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inscription</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#creation {
background-color: #CCC;
height: 340px;
width: 300px;
margin-right: auto;
margin-left: auto;
border-top-style: double;
border-right-style: double;
border-bottom-style: double;
border-left-style: double;
text-align: center;
}
.formu {
font-size: 18px;
font-weight: bold;
text-decoration: underline;
text-align: center;
}
.formulairetexte {
text-align: center;
}
</style>
</head>

Inscription:

<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
Nom :



Prénom :



Nom d'utilisateur :



Mot de passe :



Confirmer le passe:



Adresse e-mail :








</form>

<?php if(isset($message)) { ?>
<?php echo $message; ?>
<?php } if($masquer_formulaire != true) { ?>

<?php } ?>



</html>
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
20 déc. 2011 à 20:30
exemple dans creer-compte-php.php

if(isset($_POST["BT_Envoyer"]))
{

// Vérification de la validité des champs
if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Nom_Propre']))
{
$message = 'Votre nom propre doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}


if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Prenom']))
{
$message = 'Votre nom d\'utilisateur doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}
if(!preg_match('/^[A-Za-z0-9_]{4,20}$/',$_POST['TB_Nom_Utilisateur']))
{
$message = 'Votre nom d\'utilisateur doit comporter entre 4 et 20 caractères
\n';
$message .= 'L\'utilisation de l\'underscore est autorisée';
}
elseif(!preg_match('/^[A-Za-z0-9]{4,}$/',$_POST['TB_Mot_de_Passe']))
{
$message = 'Votre mot de passe doit comporter au moins 4 caractères';
}
elseif($_POST['TB_Mot_de_Passe'] != $_POST['TB_Confirmation_Mot_de_Passe'])
{
$message = 'Votre mot de passe n\'a pas été correctement confirmé';
}


elseif(!preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/',
$_POST['TB_Adresse_Email']))
{
$message = 'Votre adresse e-mail n\'est pas valide';
}
else
{
stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012
20 déc. 2011 à 19:52
J'ai bien essayé ça pour remplacer "ereg" mais je retrouve directement à la page "connexion" sans la phrase de confirmation.
activer compte utilisateur, ligne 15:
if(preg_match("/[0-9]+/", $_GET["id"]) && preg_match("/[a-f0-9]{8}/",$_GET["clef"]))

Fini pour ce soir,je continuerai demain.
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
20 déc. 2011 à 16:34
dans creer-compte-utilisateur.php
ici
$message .= " est déjà utilisée";}
}
mysql_close();
}else ...

puis
$masquer_formulaire = true;}
}
mysql_close();
ça m'a enlevé l'erreur ...
je vais regarder ton code plus en détails plus tard
stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012
20 déc. 2011 à 16:12
merci pour vos commentaires.
Si je remplace ereg par preg_match, je me retrouve avec une erreur No ending delimiter '^' found....
Pour la suppression des vieux comptes, je l'ai supprimé en attentant de m'y attarder.
Où dois-je mettre mysql close? (je n'ai pas d'erreur).
Pour les injections sql et xss. J'essayerai de m'y pencher mais c'est pas gagné!!!
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
20 déc. 2011 à 14:43
bonjour

après avoir installé ton code j'ai une erreur ligne 177 mysql_close();
dés l'inscription
tu devras positionner la fermeture ailleur(s) ...
tu postes direct
$_POST["TB_Nom_Utilisateur"] ... dans la requête donc possibilités -> injections sql, xss ... pas de protections à l'horizon
et l'inscription ne fonctionne pas

activer-compte-utilisateur.php?id=2&clef=bce23679
ceci est toujours vrai ? et cela crée une erreur, un message dés l'activation
$heure2=$heure-$validite;
mysql_query("DELETE FROM Comptes_Utilisateurs WHERE heure<$heure2 AND Compte_Active='0'");

bon j’arrête là

++
camillagaiaschicherie Messages postés 58 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 28 février 2012
20 déc. 2011 à 13:59
bonjour,

utilisation de function obsolete :ereg par exemple
code sensible aux injections sql
...

ne pas utiliser en production
stephelle Messages postés 56 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 7 octobre 2012
20 déc. 2011 à 13:56
N'oubliez pas de remplir le fichier config.php
Rejoignez-nous