Aller au contenu

TheRec

Hubmaster
  • Compteur de contenus

    1 777
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par TheRec

  1. As-tu corrigé le champ que je t'ai demandé précédemment..et quelle "value" lui as-tu donné ? Si tu dois incrémenter ton champs de la valeur que l'utilisateur te fournit grâce à ce champ <input type="hidden">. Tu peux le faire ainsi : mysql_query("UPDATE membre SET maison1=maison1 + ".$_POST['maison1']." WHERE pseudo='".$_SESSION['pseudo']."' AND password='".$_SESSION['password']."'"); et ton champ de formulaire serait quelque chose comme : <input type="hidden" name="maison1" value="1" /> P.S.: Là je ne m'occupe pas de la sécurité pour l'instant, juste du principe...
  2. Pardon petit erreur...remplace la ligne en question par : $sql = "select * from membre where pseudo='".$_POST['pseudo']."' AND password='".$_POST['password']."'";
  3. J'ai repris ton code pour que cela fonctionne..je ne peux malheureusement pas le tester ...essaie de remplace le code de login.php par ceci : <? $base = mysql_connect ("localhost", "root", ""); mysql_select_db("jeuxphp", $base); if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) { $sql = "select * from membre where pseudo='".$_POST['pseudo']."' AND password='$_POST['password']'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); if(mysql_num_rows($req) == 0) { echo '<p>Mauvais pseudo / password.</p>'; include('index.php'); exit; } else { $data = mysql_fetch_array($req); session_start(); $_SESSION['pseudo'] = $data['pseudo']; $_SESSION['password'] = $data['password']; echo 'Vous êtes bien logué <br /> <a href="indexmembre.php"> Cliquez ici</a> si la redirection ne marche pas.'; include('indexmembre.php'); } } else { echo '<p>vous avez oublié un champs.</p>'; include('connexion.php'); exit; } ?> Ensuite dans ton code de la base de page tu utilises $_SESSION['pseudo'] et $_SESSION['password'] ... et non plus $pseudo et $password. J'ai également enlevé le "extract" ... il est préférable d'utiliser les tableaux de superglobales...
  4. Un petit "détail" ... <input type="post" name="maison1"/> <br /> dans ta page de base, le type "post" n'existe pas pour la balise <input>... ce champ est tout simplement ignoré lorsque le forumlaire est envoyé... de plus ce champ n'a pas de valeur... je ne sais aps ce qu'il doit contenir..mais un possibilité serait : <input type="hidden" name="maison1" value="nouvelle_maison" /> Maintenant j'ai une question subsidiaire, le champs "maison1" dans ta base de données est-il un entier que tu souhaite incérmenter lorsque l'utilisateur envoi le formulaire ?
  5. Oui...mais en même temps il a dit que s'il remplaçait dans sa page de base (pas membre.php) $pseudo et $password par $_SESSION['pseudo'] et $_SESSION['password'] et que cela ne marchait pas c'est qu'à la base les variables de sessions n'ont pas été définie...il serait bon de voir ce qui est fait lorsque l'utilisateur s'est correctement identifié (avec, apparemment, connexion.php)...
  6. Il ne doit pas y avoir de problème de variables de sessions si le serveur HTTP, je suppose que comme la majorité des débutants (ce n'est pas péjoratif) tu utilises EasyPHP et dans ce cas les sessions devraient marcher sans problème... mais as-tu fait un "session_start" au début de ta page (ou dans membre.php) ? Sans cela il n'est pas possible d'accéder aux variables de session...
  7. Ha j'ai corrigé en même temps que toi dans mon message...j'ai du mal lire à la base Concernant $pseudo et $password, comme je te l'ai dit, s'il sont vide cela n'engendre pas d'erreur avec la commande UPDATE. Simplement il ne trouve aucun enregsitrement à mettre à jour... A toi de mettre les bonne valeures dans ces champs... je suppose que tu utilise une session pour idneitifer ton utilisateur donc il est probable que tu aies utilisé des variables de session qui seront accessibles comme ceci : $_SESSION['pseudo'] et $_SESSION['password']
  8. De rien ! Si tu veux explorer tous les flags possibles pour la directive RewriteRule, cette page du manuel Apache te sera utile (malheureusement qu'en anglais) : http://httpd.apache.org/docs/2.1/mod/mod_r...tml#rewriterule
  9. Donc la requête s'effectue sans erreur réellement... maintenant il nous faut savoir si dans les variable $pseudo et $password il existe bien ce que tu souhaites. Si elles étaient vide cela ne corresponderait sûrement à aucune des enregistrements de ta base. La même chose se produit si tu as des différences, suivant les cas aussi des différences de casse (majuscules/minuscules), aucun enregistrement ne correspond, l'update ne se fait pas mail la requête n'a pas rencontré d'erreur. Je remarque également que tu n'utilise pas les tableau de super-globales $_GET ou $_POST (**EDIT** je prale de $pseudo et $password) ce qui va te poser des problèmes de sécurité... dans ton example, si tu n'initialise pas $pseudo et $password l'utilisateur par simple modification de l'URL de ta page (par exemple : page.php?pseudo=admin&password=1234) essayer de changer les informations pour l'utilisateur "admin"... Ce n'est pas tout à fait le sujet du message mais je tiens juste à te mettre en garde..
  10. Bonjour, Je ne sais pas si tu tiens réellement à réécrire les URL's qui servent à éditer les messages... si ce n'est pas le cas voici une solution, utilise le QueryString Append . Tu règles ton problème en une seule règle alors : RewriteRule page-([0-9]+)-([0-9]+)\.php page.php?idsuj=$1&Page=$2 [QSA,L] Le flag QSA appondra l'éventuelle chaîne de requête du type : ?edit=variable1&var2=variable2 . Ce quel que soit le nombre de variables.
  11. Bonjour, Essaie de remplacer cette ligne : mysql_query("UPDATE membre SET maison1='$maisontotale' WHERE pseudo='$pseudo' AND password='$password'"); par celle-ci pour affiche un message d'erreur s'il y en a un : mysql_query("UPDATE membre SET maison1='$maisontotale' WHERE pseudo='$pseudo' AND password='$password'")or die(mysql_errno().": ".mysql_error());
  12. Bonjour, J'ai juste de la peine à comprendre ce qui motive un changement dans ce script concernant la ponctuation, vu que il existe une différence entre la chaîne de base et la chaîne "modifée" il faut qu'elle soit notifiée. Sinon on doit spécifier des erreur qui ne doivent pas être notifiées... Dans ce cas ça devient perillieux, cela implique (comme je l'ai dit précédemment) de différencier des erreurs significatives et non-significatives mais dans ce cas le script va vite devenir ingérable (trop d'exceptions, différences entre les langues, la signification de certaines poncutations ou des espaces varie selon le contexte). Si c'est pour cela désolé je ne pourrais pas vous aider... mais peut-être que je me trompe et que c'est facile comme "Bonjour" ...
  13. Tu abandonnes quoi ? La résolution de ce problème de espaces "significatifs" et "non-significatifs" ? Ou essayer de nous faire accéder à ton serveur personnel par ton adresse de loopback ?
  14. De rien, pas de problème. Si tu veux plus d'informations sur les fonctions pour les champs de dates (pas le fruit hein, la référence temporelle ) de mySQL tu as cette page du manuel qui est complète (tu y retrouve les spécificateurs %Y, %d, ...) et en plus en français (que demande la peuple) : http://dev.mysql.com/doc/mysql/fr/date-and...-functions.html
  15. Cela doit sûrement te sembler évident vu que tu ne le précises pas, mais de quoi parles-tu ? Sur quoi base tu cette affirmation, peux-tu étoffer tes idées ? Je suis sûr que beaucoup de monde souhaiterias participer au débat que tu relances.
  16. Oui c'est ma faute ... il faut donner un nom à l'expression "calculée" : $req="SELECT nom, DATE_FORMAT(date,'%d-%m-%Y') AS date_fr FROM liens ORDER BY date DESC LIMIT 0,5" Attention le champ s'appelle dans mon exemple "date_fr" ensuite... le champ "date" n'est pas récupéré dans cette requête, il est juste utilisé pour formater la date comme tu le souhaites. Tu peux utiliser "AS date", mais dans ce cas utilise "ORDER BY liens.date" ... j'ai utilisé date_fr pour que tu voies vien que c'est un alias... Désolé, si j'avais testé directement on aurait gagné du temps..comme quoi des fois réflechir avant de parler c'est pas mal hein
  17. Le message d'erreur nous aiderait à te répondre sûrement, et si tu utilises la ligne en PHP que je t'ai indiquée plus haut cela nous donnera encore plus d'informations. Merci d'avance. PS: Mea culpa pour les guillemets, j'ai écris la ligne sans la tester. Tu as eu raison de les remplacer par des apostrophes...
  18. Bonsoir, tu peux faire ceci directement de cette manière : $req="SELECT nom, DATE_FORMAT(date,"%d-%m-%Y") FROM liens ORDER BY date DESC LIMIT 0,5" Et pour ta deuxième question je ne vois pas vraiement pourquoi au premier abord... lerreur provient du fait que ta requête n'a sûrement pas pu être exécutée. Peut être as-tu laissé traîner des parenthèses en trop en elevant now ... tu peux récupérer lêrreur mySQL en utilisant ceci après la requête dans ton fichier PHP : echo mysql_errno() . ": " . mysql_error();
  19. Ah t'as mutualisé ton localhost Est-ce que ça rapporte ?
  20. Dans ce cas, le problème des fins de lignes n'est pas résolu dans le script d'e.MiLoU ...enfin il me semble, vu que le comportement est le même qu'avec le "mien"... Mais comme je l'ai dit techniquement il y a une différence entre les chaînes, les espaces doivent être considérés et il ne peuvent qu'être "liés" avec un mot ou une poncutation sinon il faudrait considérer les espaces entre les mots différemment (des espaces significatifs et d'autres non-significatifs...une hérésie car dans certains cas ils peuvent être significatifs dans certains textes et dans d'autres non...et cela me semble difficile car il faudrait comparer avec ce qui se trouve avant et après le caractère en cours...et pour le script que j'ai porposé ce n'est pas possible vu qu'il y a comparaison mot à mot dans la mesure où on cherche les différences entre deux tableaux (si on schématise le fonctionnement)...
  21. Bonjour, mais en fait maintenant il a le même comportement que "mon" script pour la ponctuation de fin de chaîne... ou alors j'ai mal compris l'erreur que vous me signaliez avant :S
  22. Tout à fait d'accord également, les recommandations sont un support pour assurer une sémantique correcte des pages mais en aucun cas elles ne le garantissent. En d'autres termes rien n'empêche quelqu'un d'avoir un contenu complètement destructuré sémantiquement (tableaux, etc, ...) et d'avoir "tout de même" un site complètement validé. C'est la que se trouve la limité des validateurs de type robot, mais je répète que j'aimerais bien qu'on m'indique une feuille de recommandations où l'on indique présisément que le contenu doit être complètement séparé de la présentation... j'en ai lu pas mal (et surtout beaucoup en diagonale !) mais je ne suis jamais tombé sur ceci. Mais j'avoue j'ai pas les yeux en face des trou des fois lors de la lecture des recommandations du W3C
  23. Bonjour, de rien. Accessoirementje l'ai juste un peu corrigée ... elle te sort egalement les valeurs sans la parenthèse dans un deuxième tableau si ça te convient mieux...il faut dire que il n'y avait pas de "subpatern" et donc il prenait tout ce qui correspondait à la classe de caractère plus les parenthèese de début et de fin... Un petit usage du mode Ungreedy (/U) et le tour est joué. <?php $str = "-[navname(val1)]-[navcodename(val2)]-[navver(val3)]-[platform(val4)]-[java(val5)]-[width(val6)]-[height(val7)]-[reflen(val8)]-[referer(val9)]-[agent(val10)]-[gmt(val11)]-[locale(val12)]-[cookie(val13)]-[actual(val14)]."; preg_match_all("/\((.*)\)/iU",$str,$matches); echo "<pre>"; print_r($matches); echo "</pre>"; ?>
  24. Bonjour, de rien, toutefois n'engage pas des frais démesurés dans un cluster, cela devient utile seulement à partir d'une chagre excessive sur un serveur. Si tu n'en as pas besoin (charge normale du processeur, mémoire et bande passante) cela ne fera du mal qu'à ton porte-monnaie. Sans plus d'informations sur la fréquentation et sur la charge de ton serveur dédié (est-ce des pointes, une charge sur la durée, le serveur est il complètement saturé pendant les grosses charges, ...) il n'y aura pas moyen de te donner plus de conseils.
  25. La réponse doit être quelque chose comme ça, ou pas loin : <?php $str = "-[navname(val1)]-[navcodename(val!yx2)]-[navver(val3)]-[platform(val4)]-[java(val5)]-[width(val6)]-[height(val7)]-[reflen(val8)]-[referer(val9)]-[agent(val10)]-[gmt(val11)]-[locale(val12)]-[cookie(val13)]-[actual(val14)]."; preg_match_all("/\([^)^(]+\)/i",$str,$matches); echo "<pre>"; print_r($matches); echo "</pre>"; ?> J'ai abandonné après avoir vu que la question avait été retirée...il faillait extraire les valeurs de cette chaîne...quelles qu'elle soient... bref j'ai écrit ça à la volée..ça ne couvre pas tous les cas
×
×
  • Créer...