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. TheRec

    Les conditions

    Il faut arrête ce genre de "bump", 10-15 minutes après ton message... personnellement ça ne m'encourage pas à te répondre. **EDIT** Je retire la deuxième phrase..vu que tu as edité ton message par après...quoique les n° de ligne ça aide pour les erreurs...
  2. TheRec

    Les conditions

    Tu as effectivement un message d'erreur car à nouveau tu ne sais pas utiliser les chaînes et la concaténation de celles-ci ... http://php.benscom.com/manual/fr/language.types.string.php Voici ta chaîne bien formée : $sql = ("UPDATE jeuxphp SET bois='bois - ".$val['bois']."' AND SET gold='gold - ".$val['or']."' AND SET pierre='pierre - ".$val['pierre']."' AND SET terrainl='terrainl - ".$val['terrain']."' AND SET fer='fer - ".$val['fer']."' WHERE pseudo ='".$_SESSION['pseudo']."' AND password ='".$_SESSION['password']."'"); Il faut encore que je te dise que d'après ce que j'ai lu dans tes messages et sujets précédents il me semble que tu as un petit problème de structure de base de données... si tu as des données redondantes entres tes tables comme "pseudo" et "password" (apparemment tu as ces champs dans les tables "membre" et "jeuxphp") c'est que tu n'as pas utilisé les relations entre les tables (je pensais que tu l'avais fait c'est pourquoi je te disait d'utiliser $_SESSION['idmembre']... je te conseille tout de suite la lecture d'articles sur le sujet... je n'ai malheureusement pas de livre récent à te conseiller...désolé... Un dernier conseil. fait attention à toujours avoir les valeurs pour $val['bois'], $val['or'], ... car un trou dans ta requête la rendrait invalide...
  3. Bonjour, la fonction "$template->pparse('body');" génère donc l'affichage, tu peux utiliser le buffer de PHP, donc voici ce que je te propose : ob_start(); $template->pparse('body'); // Tout ce qui est affiché par cette fonction est envoyé dans le buffer $htmlbody = ob_get_contents(); ob_end_clean(); Essaie déjà cela... si la bufferisation est déjà utilisée sur la page (c'est souvent le cas dans les systèmes de temlpates ) cela ne pose pas de problème car PHP gère les buffer en pile et permet donc l'utilisation de plusieurs buffers simultanément.
  4. TheRec

    Les conditions

    Bonjour, Par rapport à ta question de base, ce qu'il faut que tu apprennes surtout c'est les types de variables, malheureusement (quoique, pour certains cas ça aide) PHP n'est pas une langage fortement typé, si tu décide d'additionner une chaîne de caractères et un entier il ne sortira pas de message d'erreur dans sa configuration de base... Un exemple : $var1 = "10"; // Une chaîne de caractères $var2 = 10; // Un entier $var3 = $var1 + $var2; $var4 = "$var1 + $var2"; echo $var3; // Entier : 20 echo $var4; // Chaine de caractères : 10 + 10 Il faut que tu sois conscient de ce que tu veux comme type de variable et ce que tu y met dedans. Dans ton cas je suppose que tu veux un entier, et si tu place le résultat entre guillemets ("), tu n'obtiendras une châine de caractères. Cela ne pose pas de problèmes à la comparaison en cas d'égalité (==) car, comme le précise le manuel PHP, lors d'une comparaison avec une chaîne de caractères toutes les variables qui ne seraient pas une chaîne de caractères est convertie. Par contre si tu utilises l'égalité stricte (===), la conversion de type (appelée le transtypage) ne s'effectue pas. Tu as une aide complète ici avec chaque cas et ce qui est retourné : http://php.benscom.com/manual/fr/types.comparisons.php Et ici tu as toutes les possibilité des comparaisons : http://php.benscom.com/manual/fr/language.....comparison.php Et finalement ici tu as tous les types (avec un lien vers leur page spécifique) : http://php.benscom.com/manual/fr/language.types.php Pour résumer, avant de travailler avec des variables il faut savoir ce que tu as dans tes variables et comment se comporte PHP lors d'opérations mathématiques ou de comparaisons avec ces types variables...La meilleure solution étant de t'imposer de ne jamais comparer/aditionner/soustraitre/... des variables qui ne sont pas du même type...à toi de voir... **EDIT** Pour coller à la question en cours, tu as l'id du membre dans $_SESSION['idmembre'] si tu as gardé le code que je t'avais donnée dans un précédent sujet (cela se trouvat dans le fichier "login.php" si je me souviens bien)... (Au passage je t'en ai parlé déjà plusieurs fois durant différents sujets...
  5. TheRec

    Les conditions

    Bonsoir, c'est tout le problème... pour apprendre il faut chercher et pas se contenter d'une solution qui te paraît moins logique mais qui "fonctionne". Les erreurs viennent souvent (lorsqu'on commence) de la syntaxe et la ton meilleure ami ce n'est pas ce forum car on ne te dira jamais mieux comment écrire que dans le manuel de PHP. Suprême aide, il est en Français ( http://www.php.net/manual/fr/ ) ! Il existe même une version spéciale Français ( http://www.nexen.net/docs/php/annotee/manuel_tocd.php ) qui est "commentée" ...
  6. Toujours est-il que PHP n'a pas pour vocation de faire des application de g Ce jour la je prendrais la peine de me former beaucoup mieux sur ASP.Net
  7. Ouais très bon article... je n'ai pas tout lu (oui je pratique la lecture en diagonale, mais j'ai vu qu'ils en parlent de ceci en plus dans cet article). Merci pour cette trouvaille !
  8. Le cheminement est bon à mon sens... mais les règles du forum imposent une présentation, si c'est son activité je le verrai mal nous dire "C'est mon boulot mais je viens ici pour l'apprendre". Donc un peu d'indulgence n'aurait pas fait de mal...de ma part non plus ! Ah au fait...je parlais aussi pour moi ci-dessus. Bienvenue jokz ! En espérant qu'on pourras tous te faire progresser et qui sait tu pourrais peut-être nous en apprendre aussi sur certains sujets (non ce n'est pas de l'ironie, ni un sarcasme ! )
  9. Le gros problème dans ces cas la c'est que l'ironie par écrit doit être perceptible Il nous manque le ton, l'intonation et le rythme de la phrase ... D'ailleurs je me demande s'il y a un lecteur vocal qui permet de faire ressentir l'ironie d'une phrase Un petit tag <ir> ... non rien ? Ah bon..alors tant pis (Pas besoin de déplacer mon message dans le forum "Accessibilité" ... oui donc la c'est de l'ironie ) **EDIT** Je viens avec vous mais c'est sans alcool pour moi, vous allez où ? :9
  10. TheRec

    php et css

    Bonsoir, sûrement à générer une feuille PHP à la volée... donc dynmaiquement en fonction par exemple de la personne qui demande la feuille de style, ou simplement d'une variable donnée par l'utilisateur... **EDIT** Ha grillé par sarc... faudra qu'on se fasse un barbecue une fois...
  11. Bon, c'est pas grave... ma solution résoud en un coup tes problèmes de référencement et tes problèmes d'utilisateurs qui viennent depuis d'anciennes adresses référencées (qui sont deux problèmes liés somme toutes)... Mais tu as tout à fait le droit de chercher une autre solution et je serais heureux de la lire quand tu l'auras trouvée... En attendant je ne vais pas "m'épuiser" à te fournir une deuxième solution si la première que je t'ai indiquée fonctionne très bien. Ni à répondre des questions qui seraient réglées par "ma" solution...
  12. Donc la solution que je t'ai proposé ne te convient pas ? Ou tu ne l'a pas comprise ?
  13. Non le cas que tu nous a présenter est celui-ci, tes utilisateurs arrivent sur ton site par les anciennes URL qui sont actuellement dans l'index de Google (entre autres). Ces URL gérée par cette règle avec ma méthode : RewriteRule ^([0-9]+)-([a-z])\.htm$ /newpage.php?mot=$1&lettre=$2 [L] Dans la page newpage.php, tu vas gérer une redirection manuelle en fonction des deux paramètre (à l'aide de $_GET['mot'] et $_GET['lettre']). Ton boulot sera de faire la requête dans ta base de données avec ces paramètres pour trouver le titre de l'article correspondant. Une fois l'article trouvé tu utilise une redirection par header comme celle que je t'ai indiquée précédemment. **EDIT** Ben euh oui...c'est sûrement pour ça que j'avais l'impression de me répéter un peu dans ce dernier message
  14. OK...alors ce que je t'ai dit est la bonne méthode dans ce as... Ton problème n'est en aucun cas solvable par URL Rewritting (oui tu veux faire une règle par article mais ce n'est pas viable ni optimal. La redirection paraitra transparent aux utilisateurs si ton fichier ne contient que la redirection et de même pour les moteurs de recherche... que demande le peuple hein ?
  15. Avant il se basait sur l'ID, maintenant il n'utilise plus cela mais juste un titre qui est sûrement unique... (pitié rassure moi, il est unique hein !?) PS: Tout ça pour le Dieu Référencement (non mais je te comprends...j'ai fait pareil il n'y a pas si longtemps...quoi que je parasite l'url avec l'id, ce qui m'évite de créer un champ unique basé sur une chaîne de caractères)
  16. C'est donc bien ça..tu es obligé de passer par du PHP (ou en tout cas un language serveur) qui s'occupe de ta redirection... ce que tu peux faire c'est utiliser ton ancienne règle (tu es ainsi sûr que tes visiteurs sont bien redirigés) et les envoyer avec celle-ci vers ta page qui s'occupera des redirections...par exemple : RewriteRule ^([0-9]+)-([a-z])\.htm$ /newpage.php?mot=$1&lettre=$2 [L] Puis dans ta page newpage.php tu utilise en partie le code de jeroen, sauf que tu effectue une requête dans ta base de données pour trouver le "titre" de ta nouvelle page et tu l'utilises comme ceci : header("HTTP/1.1 301 Moved Permanently"); header("Location:http://www.tonsite.com/".$titre.".htm"); header("Connection: close"); exit; Tu peux même dans cette page gérer les pages qui auraient été supprimées entre temps, si les deux variables ne donnent aucun résultat lors de la requête dans ta base de données tu envoies le header d'une erreur 404 : header("HTTP/1.0 404 Not Found"); ** EDIT ** Ahhhh les joies des réponses "rapides"
  17. Ha..on a posté pratiquement ensemble... tu peux utiliser la directive RedirectMatch en utilisant cette syntaxe : http://httpd.apache.org/docs/1.3/mod/mod_a...l#redirectmatch Tu peux aussi utiliser une RewiteRule si tu te sent plus à l'aise avec ceci et utiliser le flag R. Mais ton problèmse se situe plutôt dans le fait que les anciens nom n'ont plus aucun rapport avec les nouveaux. Il te faudra donc passer comme jeroen te l'a dit pas une redirection avec PHP qui fera la translation entre l'ancien nom, depuis les deux paramètres (le nombre et la lettre de tes anciennes url) et qui redirigera vers la nouvelle page correspondant avec l'url qui est formée du titre (je suppose) de ton article, ou message de forum, ou quoi que ce soit...
  18. Bonsoir, si tu souhaites obtenir une expression régulière pour que cela face le travail de redirection pour toutes tes anciennes pages soit une directive RedirectMatch, une directive RewriteRule ou même le script de jeroen, il me faudrait plus de détails sur l'implémentation des anciens noms de fichier (ou plutôt les règles que tu utilisait avant pour effectuer le rewritting)... Il faudra aussi faire attention à ce que les nouvelles pages ne s'entre coupe pas avec les anciennes...c'est à dire que les nouvelles pages ne correspondent pas à l'expression que tu vas utiliser pour les anciennes dénomminations.
  19. Oui effectivement... mais le nombre d'utilisateur n'est EN AUCUN CAS gage de "serieux" ni de "professionnalisme". Il suffit de voir le nombre de gens qui utilisaient Windows 98 en entreprise il n'y a pas si longtemps que ça... De plus tu devrais t'intéresser plus au contenu de l'article que je t'ai indiqué qu'au serveur et au langage qu'il utilise... bref je ne vois toujours pas d'argument qui me ferait changer pour ASP.NET .. ou même ASP ... Le fait de réaliser un site populaire en ASP ne signifie pas non plus que ce soit un langage de meilleure qualité que PHP au tout autre langage serveur. Cela implique simplement que le site était sûrement intéressant ou utile (voir même les deux ) et qu'il est devenu populaire.
  20. Oui, c'est ce que je viens d'écrire... enfin il me semble.
  21. Bonjour, il te suffit de passser un paramètre supplémentaire dans l'URL (GET) ou par une variable POST dans le formulaire qui commande la suppression de quelque chose. Par exemple un champ <input type="hidden"> et lui donner une valeur qui identifie ce que le formulaire doit supprimer dans la base. Il faut aussi faire attention à la valeur qui est donnée par l'utilisateur, des fois qu'il cherche à tricher en modifiant manuellement celle-ci (avec des outil spéciaux, sinon un champ hidden n'est pas modifiable).
  22. Bonjour, une petite recherche sur le forum et hop... c'est pourant si facile : http://www.webmaster-hub.com/index.php?sho...642&hl=pagerank Tu sauras pour la prochaine fois
  23. En une expression régulière je ne vois pas trop...mais en deux il me semble que cela devrait fonctionner : $t_final = preg_replace("/>\s+/i",">",$t_final); $t_final = preg_replace("/\s+<\//iU","</",$t_final); Bonne nuit
  24. Et en regardant de plus près ton code... tu fait quelque chose de pas viable à mon avis... tu remplace les caractères qui posent problème par des occurence qui n'en posent pas tant qu'on ne les utilisent pas... Si je viens a tester par exemple : Une fois de plus en le comparant avec : Une fois de plus! ou même : Une fois de plus ! Il me retourne ma phrase d'origine (il passe bien entendu le teste de l'absolue correspondance vu que les chaînes sont différentes)...Avec le script que j'ai proposé il est aussi possible de faire ceci si je me souviens encore du fonctionnement...
  25. Celui de l'espace avant la virgule, oui. Essaie : Une fois de plus et Une fois, de plus La sortie donne un esapce avant la "," ...
×
×
  • Créer...