moi j'ai crée une base " membre "
et une table " table_users " avec les champs que tu a indiqué
mais dans ton programme ou est la declaration du nom de la base ?.
moi j'ai crée une base " membre "
et une table " table_users " avec les champs que tu a indiqué
mais dans ton programme ou est la declaration du nom de la base ?.
Comme dit dans le poste, le code n'est qu'un exemple
Ila pas été testé, et comme tu le fais remarqué, il manque la selection de la base de donnée
Je corrige dans le poste (pas sur les fichiers dans le zip )
il manquait
juste après la connection au serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_select_db($bddBase);
LS LIGNES DE 20 A 24
20 '".mysql_real_escape_string($_SESSION['user_nom'])."',
21 '".mysql_real_escape_string($_SESSION['user_prenom'])."',
22 '".mysql_real_escape_string($_SESSION['user_email'])."',
23 '".mysql_real_escape_string($_SESSION['user_login'])."',
24 md5('".mysql_real_escape_string($_SESSION['user_pass'])."'),
Notice: Undefined index: user_nom in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 20
Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 20
Warning: mysql_real_escape_string(): A link to the server could not be established in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 20
Notice: Undefined index: user_prenom in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 21
Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 21
Warning: mysql_real_escape_string(): A link to the server could not be established in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 21
Notice: Undefined index: user_email in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 22
Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 22
Warning: mysql_real_escape_string(): A link to the server could not be established in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 22
Notice: Undefined index: user_login in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 23
Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 23
Warning: mysql_real_escape_string(): A link to the server could not be established in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 23
Notice: Undefined index: user_pass in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 24
Warning: mysql_real_escape_string(): Accès refusé pour l'utilisateur: 'ODBC@localhost' (mot de passe: NON) in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 24
Warning: mysql_real_escape_string(): A link to the server could not be established in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 24
Erreur de syntaxe près de ') VALUES ( '', '', '', '', ' à la ligne 12
je sais pas pourquoi les sessions chez moi ne fonctionne pas ,
si ta un peu de temps Sion_Sempai essayer de faire tourner le programme histoire
de voir si chez toi c bon !!
hummmm... Bon le mysql_real_escape_string je l'avais encore jamais utilisé, mais la c'est pas térrible comment je l'ai utilisé
On va faire plus simple ^^
J'ai modifié le code, et le zip avec une légère optimisation...
la gestion de la connection à la base se fait dans un fichier à part (bdd.php) pour éviter de répéter le code plusieurs fois.... la page de connection est incluse dans les pages qui en ont besoin
Bouuuuh ! Pas bien !Envoyé par Sion_Sempai
Dans verif.php, tu as ce code :
Perso, j'ai tendance à inverser le test quand le else est tout petit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (isset($_SESSION['proceed']) && $_SESSION['proceed'] == 1)
Dans createNewAccount.php, tu utilises addslashes() au lieu de mysql_real_escape_string(). La seule chose dont a besoin cette dernière fonction afin d'être utile est une connexion à MySQL, or il me semble que tu la fais au préalable dans bdd.php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (!isset($_SESSION['proceed']) or $_SESSION['proceed'] != 1)
Réfère-toi au blog de Schiflett pour quelques infos supplémentaires : http://shiflett.org/archive/184
Kirkis > En général, quand il s'agit de test, je mets tout les cas échéan en premier et le reste après... Mais comme je l'ai dit, le code est largement optimisable. Et puis, j'ai fais ca à l'arrache, j'ai pas trop fais attention
Pour mysql_real_escape_string, après l'erreur que m'a montré nébil, je me disais bien que c'etait ce genre de petit détail qui allait pas... (je l'utilisais avant de faire la connection, avant mon dernier edit...)
Mais comme ca a l'air reglé, je vais le remettre
Le code et le zip sont a jour...
J'ai remis les mysql_real_escape_string.
Ton probleme de session nébil, faut voir selon comment ton serveur est installé, et s'il est bien configuré
j'ai retelecharger le nouveau zip mais j'ai toujours les memes erreures qui s'affiche
je suis en local easyphp 1.7 phpmyadmin 2.5.3
Notice: Undefined index: user_nom in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 23
Notice: Undefined index: user_prenom in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 24
Notice: Undefined index: user_email in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 25
Notice: Undefined index: user_login in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 26
Notice: Undefined index: user_pass in c:\program files\easyphp1-7\www\formulaire_validation_email_2\createnewaccount.php on line 27
Erreur de syntaxe près de ') VALUES ( '', '', '', '', md5(''), '5' à la ligne 12
pourquoi les valeurs ne sont pas posté de formulaire a createNewAccount
il faut pas mettre dans easyphp un dossier session comme chez free ?
c'est '".mysql_real_escape_string($_SESSION['user_nom'])."'
qui a pour travaille de recupéré les valeurs des champs commme un simple $toto=$_GETouPOST['email']; ??
c'est pas un truc de se genre qu'on doit ecrire $Email=$_SESSION['Email']; ??????
voila se qui est dit sur cette fonction
http://fr.php.net/manual/fr/function...ape-string.php
(comme expliqué dans la doc php) la fonction mysql_real_escape_string() a pour but de protéger toute insertion dans la base de données des problèmes dûes à l'interprétation des caractères spéciaux tels que l'apostrophe par exemple.
de par ce fait, tu te protèges également des injections MySQL.
pour qu'elle fonctionne correctement, elle doit être lié explicitement à une connexion MySQL avec le second paramètre optionnel ou implicitement si une connexion MySQL est déjà établie.
Salut sion_sempai
sa veux dire quoi sa , tu peut me le traduire !!
if (!@mail($mailTo, $mailSubject, $mailBody, $mailHeader))
on récupere la l'id du dernier enregistre pour l'intégré au lien de validation
c'est pas tres efficace car si les deux derniers inscrit non pas validez de suite leur lien de confirmation et que le premier des deux valide en premier son lien il va récipéré l'id du second et donc il ne pourra pas cinfirmer son inscription
// **** Selection du dernier id utilisateur enregistré **** //
$sql = "
SELECT
LAST_INSERT_ID() AS user_id";
$qry = mysql_query($sql) or die(mysql_error());
Désolé, je réponds d'un cyber... J'ai des problemes de connections a la maison
donc :
ca, ca vérifie que l'envoie du mail s'est bien passé. Le @ devant le nom de la fonction permet d'eviter l'affichage des erreurs éventuellement générées par la fonction (qu'on me rattrape si c'est pas tout a fait ca).Envoyé par nebil
les identifiants sont fait de sorte que chacun garde le sien, qu'il confirme son email ou pason récupere la l'id du dernier enregistre pour l'intégré au lien de validation
c'est pas tres efficace car si les deux derniers inscrit non pas validez de suite leur lien de confirmation et que le premier des deux valide en premier son lien il va récipéré l'id du second et donc il ne pourra pas cinfirmer son inscription
// **** Selection du dernier id utilisateur enregistré **** //
$sql = "
SELECT
LAST_INSERT_ID() AS user_id";
$qry = mysql_query($sql) or die(mysql_error());
Merci pour moi les choses sont claire maintenant .
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager