Roooh, faut jamais donner une réponse toute crue comme ca... Il apprendra jamais sinon :-°. 'Suffisait juste de réviser un peu ses bases SQL pour voir que la parenthèse fermante en trop était l'avant dernière... Ce qui amenait, aussi, une virgule en trop.
Bonsoir, j'ai encore trouvé des problèmes chouette
alors /modules/membres/modifier_profil.php et /modules/membres/inscription.php
la fonction strtlower() n'existe pas, en revanche strtolower() oui;
Dans un précédent post je disais que la mise ajour des infos ne marche pas, en fait il faut supprimer
$form_modif_infos->fieldsets("Modification de l'e-mail et de l'avatar" , array('adresse_email', 'suppr_avatar', 'avatar'));
et
$form_modif_mdp->fieldsets("Modification du mot de passe" , array('mdp_ancien', 'mdp', 'mdp_verif'));
mais ce n'est pas tout
Citation : Lyrke
- Partie "Fonctions du modèle membres"
Tu parles de la fonction maj_email_membre à créer mais dans le script tu utilises maj_adresse_email_membre.
- Partie ~/modules/membres/modifier_profil.php
Peut-être mettre les formulaires en POST
En effet il faut rajouter
$form_modif_infos->method('POST');
et
$form_modif_mdp->method('POST');
en plus de changer le nom de la fonction
J'ai en plus un bug que je n'avais pas remarquer depuis le début : mes images sont enregistrées sous le format .tmp est-ce du à WAMP ?
Voilà bon courage pour la suite
@Talus : Oui tu as raison mais sur le coup j'ai pas pensé à ca ^^' .
@marc38gt : Moi j'ai rajouter les post mais je conseillais de l'indiquer dans le tuto .
Et pour les fiedsets, la syntaxe correcte est celle ci :
<?php
$form_modif_infos->fieldsets(array("Modification de l'e-mail et de l'avatar" => array('adresse_email', 'suppr_avatar', 'avatar')));
$form_modif_mdp->fieldsets(array("Modification du mot de passe" => array('mdp_ancien', 'mdp', 'mdp_verif')));
Pour les avatars il y a d'autres problèmes, on peut par exemple citer le .tmp qui ne doit pas être normal, surement du fau faite qu'on récupère l'extension du fichier temporaire créé à l'upload.
Autre chose est l'affichage de l'avatar dans le profil, on enregistre l'avatar sous la forme "images/avatar/X.EXT" et on l'affiche avec DOSSIER_AVATAR . urlencode($avatar), ce qui donne un chemin de ce style : "images/avatar/images%2Favatars%2F1.tmp" par exemple (/ -> %2f via urlencode).
Tout a fait Lyrke, il suffit simplement de mettre
<img class="flottant_droite" src="<?php echo $avatar; ?>"
ou peut-être plus sécurisé :
<img class="flottant_droite" src="<?php echo htmlspecialchars($avatar); ?>
comme cela est fait dans le fichier global/menu.php
Merci beaucoup à celui (ou ceux) qui a créé ce tutoriel. Vraiment très intéressant et enrichissant. J'ai un peu de mal à me mettre dans le bain mais je pense avoir compris le fonctionnement (c'est déjà pas mal ).
Par contre, je rencontre un problème depuis plus d'un quart d'heure et j'ai beau avoir retourné tout Google et toute la doc PHP, je ne trouve pas de réponse :
Dans ma page modules/membres/afficher_profil.php, il y a 4 erreurs lié à la fonction list et l'array :
Citation : afficher_profil.php
Notice: Undefined offset: 4 in D:\wamp\www\Coffe Shop\modules\membres\afficher_profil.php on line 21
Notice: Undefined offset: 3 in D:\wamp\www\Coffe Shop\modules\membres\afficher_profil.php on line 21
Notice: Undefined offset: 2 in D:\wamp\www\Coffe Shop\modules\membres\afficher_profil.php on line 21
Notice: Undefined offset: 0 in D:\wamp\www\Coffe Shop\modules\membres\afficher_profil.php on line 21
Et ma vue profil_infos_utilisateur.php, ne peut afficher chacune des variables ($nom_utilisateur, $email, etc).
J'ai un peu fouiné et n'ait pas trouvé de "mauvaise" utilisation de la fonction list, l'array de $infos_utilisateur; est bien présent aussi. Cependant, après la ligne de code
Salut Tyl0x,
Comme je le disais dans un topic précédent, list ne fonctionne qu'avec un array numéroté, tu dois donc trouver un moyen de retourner un array numéroté avec PDO et pas un array associatif, mais fait attention que les 2 doivent être possible en fonction des cas (par exemple la connexion utilise un array associatif).
D'abors merci beaucoup pour ce tutoriel il en manquer vraiment un au siteduzero.
Je me retrouve Bloqué au 3 éme chapitre "Les classes utilisées dans ce tutoriel " alors j'ai récuperer le code source de form.php etc ...
Et dés que je veux lancer le code donner dans le tutoriel j'ai cette ereur :
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/php/libs/form.php on line 6
Merci pour ta réponse je vient de faire la mise à jour et maintenant sa marche.
Sauf que un nouveau problème vient de faire son apparition à la fin du tutoriel à la fin du chapitre 3 j'ai cet erreur
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /opt/lampp/htdocs/mvc/libs/index.php on line 16
EDIT : Pour Info Ma version actuelle de PHP est la PHP 5.2.8
REDIT : Le problème venait d'un point virgule en plus.
Encore une je me retrouve bloqué devant un autre problème cette fois ci sa concerne la partie "Modification du menu et des droits d'accès" j'ai bien suivi toutes les etapes quand je me connecte sa me dit que je me suis connecté mais je n'ai pas de changement au niveau du menu.
@Darma : Pour la vérification utilisateur_est_connecte(), il y a un bug, vérifie la variable $_SESSION['id'], logiquement elle est vide car à la connexion on ne récupère pas l'id dans la requête SQL, donc modifie la requête pour qu'elle retourne aussi l'id
Bonjour à tous
Je voulais revenir sur le problème avec la fonction list. Il suffit d'utiliser PDO::FETCH_BOTH qui retourne un tableau indexé par les noms de colonnes (PDO::FETCH_ASSOC) mais aussi par les numéros de colonnes (PDO::FETCH_NUM)(commençant à l'indice 0), comme retournés dans le jeu de résultats.
EDIT : je voulais juste prévenir que PDO::FETCH_BOTH ne doit être utilisé seulement en cas de double utilisation car le fait de générer deux tableaux ralentit un peu l'éxécution.
@Savageman j'ai une question sur ta classe form : est-il possible de faire apparaître un label pour les inputs d'attribut 'hidden' ?
A +
Ben autant utiliser que FETCH_ROW alors... car ca ne sert à rien d'avoir un tableau deux fois plus gros, si on risque pas de se servir de l'un ou l'autre...
Non désolé ils ne s'affichent pas, en fait je voulais me servir de ça pour mon livre d'or : si l'utilisateur n'est pas connecté alors on lui demande de remplir tous les champs : pseudo, mail..
si il est connecté alors il n'a pas besoin de remplir ces champs, c'est pour ça que je voulais utiliser un input hidden avec un label : ca afficherait son pseudo sans pour autant qu'il est besoin de le redonner et avec un petit bidouillage ca éviterait qu'un simple visiteur mette le même pseudo qu'un membre.
ca afficherait son pseudo sans pour autant qu'il est besoin de le redonner et avec un petit bidouillage ca éviterait qu'un simple visiteur mette le même pseudo qu'un membre.
Nope c'est pas une bonne technique ça, tout les champs peuvent être d'une manière ou d'une autre modifiés. Never trust user input, tu t'attends à ce que ton input radio renvoie 1 ou 0 en fonction du sexe du membre, mais en réalité il peut valoir "blabla". Donc dans ton cas, un membre peut très bien changer son nom pour se faire passer pour quelqu'un d'autre.
Merci bien, ta classe regorge de surprise ^^, j'avais jamais essayé l'option disabled dans un input, manque d'expérience
T'as raison @TheDead Master alors pour différencier de manière sécurisée les membres des visiteurs je peux mettre le pseudo entre crochet.
@savageman j'attends avec impatience le code de ton livre d'or
hop (=bonjour ),
petit problème avec la connexion auto :
j'avais pas le label mais j'ai pu corriger grâce à Ouzmoutous, cependant il reste toujours un problème :
quand je ne coche pas la connexion auto et que j'essaye de me connecter çà me met : "Ce champ est obligatoire."
Pas pratique n'est-ce pas
Quelqu'un saurait-il régler çà svp ?
Ah eu oui
C'est normal que la checkbox soit au dessus du label "connexion automatique " ?
Bonjour,
je ne trouve pas comment mettre à une liste déroulante une entrée par défaut (le selected="selected").
J'ai essayer en regardant la classe mais j'y comprend pas grand chose xD .
Merci d'avance,
Lyrke
EDIT : et je voudrais aussi savoir comment mettre un texte par défaut dans un textarea, la méthode value ne fonctionne paon dirait
Hum... Pour le value() du textarea, j'ai corrigé ma version, mais je peux pas l'uploader, j'ai pas accès au FTP depuis ma connexion... Je te donne des nouvelles dès que je peux corriger.
Pour le selected="selected", c'est aussi value() qu'il faut utiliser sur un champ de type Select.
Bonjour,
je ne trouve pas comment mettre à une liste déroulante une entrée par défaut (le selected="selected").
J'ai essayer en regardant la classe mais j'y comprend pas grand chose xD .
Savageman : Ha ha ! Tu vois, pas que moi qui ait besoin de regarder ton code !
Alors j'ai un petit problème et une petite question
Mon problème se situe au niveau de l'affichage du profil. Je l'ai renseigné dans les commentaires, car un autre zéro avait signalé un problème similaire au mien.. http://www.siteduzero.com/tutoriel-50-88617.html
Ma question
Je suis en train de céer un formulaire de contact mail... J'ai donc créé tous les champs que je souhaitais, mais là je bloque : comment afficher mon image anti-robot ? (J'ai une créé une fonction qui marche très bien, mais je vois pas comment intégrer l'image à mon formulaire ) Comment çà j'ai raté un truc dans la class form ? (Je pose la question après avoir évidemment relu la sous partie expliquant le fonctionnement de la class form )
<citation nom="">Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/www/lavaguedeiam/dev/modules/membres/vues/formulaires_modifier_profil.php on line 29</citation>
avec en ligne 29 :
<?php $form_modif_infos->fieldsets("Modification de l'e-mail et de l'avatar" => array('adresse_email', 'suppr_avatar', 'avatar'));
Et avant c'était :
Citation :
Modification de votre profil utilisateur
Warning: Invalid argument supplied for foreach() in /home/www/lavaguedeiam/dev/libs/form.php on line 244
Warning: Invalid argument supplied for foreach() in /home/www/lavaguedeiam/dev/libs/form.php on line 244
avec
<?php $form_modif_infos->fieldsets("Modification de l'e-mail et de l'avatar", array('adresse_email', 'suppr_avatar', 'avatar'));