Charge sur serveur ? + diverses questions... [PHP/MYSQL] - PHP - Programmation
Marsh Posté le 05-03-2003 à 11:49:50
A) Pas de meilleur soluce que le header. Si tu veux pas à avoir à le modifier, rend le dynamique avec une variable.
B1) Non tu n'es pas fou, tu es seulement courageux (enfin si tu arrives à aller jusqu'au bout).
B2) formulaire ==> POST.
Marsh Posté le 05-03-2003 à 12:16:57
A- Javascript
B- Oui dans un formulaire POST en sérialisant ton objet, mais c'est vilain pas beau, et une vraie catastrophe point de vue sécurité: Il ne faut JAMAIS (JAMAIS) faire confiance au client.
1- Le contenu de ton objet peut fournir des informations que tu n'a pas forcément envie de montrer.
2- Rien n'empèche un petit malin de modifier le contenu de du champs Hiden.
3- Conclusion, utilise les sessions de PHP pour conserver sur le serveur les infos qui n'ont rien à faire chez le client.
C- De quoi tu parle ? Quel fichier ?
D- Plus de précisions demandées...
E- Pas en trois mots.
B1- Tout dépend des fonctions que tu veux y mettre.
B2- POST.
Marsh Posté le 05-03-2003 à 12:21:12
Mara's dad a écrit : E- Pas en trois mots. |
Tu viens d'en faire 4
Marsh Posté le 05-03-2003 à 12:21:52
Pour les variables, à priori, c'est OUI, mais rien ne t'empèche de faire un essai, non ?
Marsh Posté le 05-03-2003 à 12:22:25
Taiche a écrit : |
Donc j'ai raison !
Marsh Posté le 05-03-2003 à 13:32:44
Mara's dad a écrit : A- Javascript |
C'est une bien moins bonne solution que les redirections HTTP.
Marsh Posté le 05-03-2003 à 13:59:29
Hermes le Messager a écrit : |
Je suis bien d'accord, mais je réponds à la question, et c'est la seule autre solution selon moi !
Maintenant si t'en as une autre, ben donne là au lieu de simplement dire que c'est naze !
Marsh Posté le 05-03-2003 à 14:03:27
Mara's dad a écrit : |
Désolé, j'avais cru lire "une meilleure solution" que les headers.
Effectivement, les solutions "pourrites" sont admises
Marsh Posté le 05-03-2003 à 18:32:53
Meric pour ces quelques réponses très interessantes...
Désolé de ne pas avoir réagit plus tot, mais j'ai fait la sieste (12h->18h)!
Voici quelques précisions sur mes questions :
A - ok
B - ok
C - par exemple ici, je voudrais savoir comment on résupère le nom de la page seulement par exemple : forum2.php sans les ? et sans "http://forum.hardware.fr/"
D - Bon c'est très carac, j'ai mes 2 champs, je cherche intitulé et j'incrémente valeur au moyen d'une fonction que j'appelle dans ma page au début (ca en s'en fout je crois)!
Je trouve très carac, car je voudrais faire de même pour afficher le nombrte de page vu apr jour (dans ce cas, ma modélisation est deja dans le colletard...)
En fait, plus clairement, faut il plutot, que je loggue chaque affichage de ma page dans un table avec la date, ou plutot une mise a jour de ma precedente table SQL, qui tout les jours à minuit, stocke la valeur courante, dans une nouveau champs d'intitulé par exemple, le jour du mois ?
En fait, mon raisonnement est surtout en terme de performances...
Marsh Posté le 05-03-2003 à 18:37:41
D - suite : En fait ce que je voudrais surtout savoir, c'est si il est preferable de stocker ce genre de valeurs, ou de les rechercher dans les tables SL, par requette, a chaque fois que l'on veut les afficher.
Ex + concret : J'ai des users qui s'inscrivent sur le site, avec une date, je peux donc tous les chopper en les comptant (count(*)) et si je les groupe par leurs dates d'arrivées, je peux facilement deviner combien de users se sont inscrit aujourd'hui. La question, c'est est ce que mysql est rapide pour faire ce genre de requette, et surtout, et ce que c'est la meilleurs des facons de faire , car a chaque fois que je voudrais afficher ce nombre, faudra, que je refasse ma requette ?
E - sinon je prends aussi des liens, car j'ai pas vu encore de trucs interessants la dessus ...
B1 - ok
B2 - ok
Marsh Posté le 05-03-2003 à 20:59:09
C- $script_name = basename( $HTTP_SERVER_VARS["PHP_SELF"] );
D- Table à 3 champs ( MySql 3.x supposé )
Code :
|
Mise à jour du compteur :
Code :
|
Pas de problème pour la requête de comptage des users si y' un index sur le champs date.
Marsh Posté le 05-03-2003 à 21:09:48
E- Le problème c'est de mettre un truc en crontab, ou de faire le script de MAJ.
Pour le script de MAJ, le plus simple c'est :
1- Vérifier l'éxistance d'un fichier précis
ex: /home/boubours/maj_site.tar.gz
2- S'il éxiste le décompresser au bon endroit
ex: cd /home/www
tar -zxvf /home/boubours/maj_site.tar.gz
cd ..
chown -R UserApache:GroupeApache www
3- Si OK supprimer le fichier ou le déplacer et le renomer avec la date du jour pour archivage par exemple.
Pour crontab y'a plusieurs solutions qui dépendent de ta config.
Par exemple:
Mettre le script en question (ou un lien) dans /etc/cron.d ou /etc/cron.daily
Mais je n'en sais pas assez sur cron ou anacron pour t'en dire plus.
Demande sur OSA (après recherche bien sûr )
Marsh Posté le 05-03-2003 à 22:33:45
un grand merci pour vos réponses
cependant je nai pas du m'exprimer assez clairement pour les question D et E :
D - en fait c surtout la question de comment le réaliser le plus optimisé possible ?
E - La question c'est surtout, comment on fait pour faire des mises a jour a une heure precise en php! Genre un fichier qui s'éxécute à minuit tous les jours et qui fait des mises a jour sur ma base de donnée !
Marsh Posté le 05-03-2003 à 22:42:40
boubours a écrit : |
bah, c'est ce que te disait Mara's dad. Si t'es sous linux (et que tu as la mains sur le serveur )tu utilises un cron (cf OSA), si t'es sous Win tu peux utiliser l'équivalent (planificateur des taches). Si t'as pas la mains sur le serveur, soit tu contactes ton hébergeur pour qu'il te mette ça en place (ça c'est si tu as un hébergement pro, ça m'étonnerait que free ou multimania fasse ce genre de truc).
Bon si t'es dans aucun de ces cas, il te reste http://www.webcron.org/
Marsh Posté le 06-03-2003 à 10:15:41
E- Normalement si PHP est compilé en CGI, il est possible de le lancer en ligne de commande :
php /chemin/mon_script.php
Le tout dans cron, et çà roule !
D- Ben comme je l'ai fait c'est déjà pas mal, mais je viens de me rendre compte qu'on peut inverser le INSERT et le UPDATE.
1- Faire l'UPDATE
2- Si l'UPDATE a foiré, faire l'INSERT.
Marsh Posté le 05-03-2003 à 11:02:31
Voila, ma question est assez simple !
Je suis actuellement en train de développer un site assez gros (gestion d'utilisateurs, sondages, news, commentaires, forum...), et donc je me retrouve avec une tonne de requète par page (j'éxagère, mais c'est vrai qu'il commence a y en avoir !)
et tout plein de variables...
Alors je voudrais savoir, si d'une part, les variables définit a l'intérieur d'un fichier qui "includer" ou "requirer" sont visibles dans les autres fichiers include. En fait, comme la pluaprt des sites que j'ai vu jusqu'a maintenant, j'ai un fichier index.php, qui sert d'aiguilleur a tous les autres qui sont ainsi assemblé suivant les besoins. D'autre part, j'ai quelques petites questions sans trop de rapport, alors au lieu de faire plein de topic et pour ne pas trop 'polluer', les voici :
A - Comment effectuer une redirection apres 5 secondes sans faire un truc du genre refresh dans le header , et sans utiliser header(). En effet, j'ai un fichier header() qui gère donc le header, et je prefererais ne pas avoir a le modifier.
B - peut on passer un objet (le résultat d'une requète, normalement unique) dans un formulaire avec un <input type=hidden> ? et si l'objet est un array d'objet ?
C - peut on recuperer seulement le nom du fichier et du chemin relatif sur le serveur (aka sans le vrai chemin sur la machine, style ./index.php) ?
D - je stocke actuellemen le nombre de page affiché dans une table SQL a 2 champs (intitulé, valeur), est ce bien judicieux...
E - Quelqu'un pourrait il me dire un trois mots, comment effectuer un mise a jour a une heure précise (genre crontab...) ?
Questions bonus : elles ne sont pas du tout vitale...
B1 - Je compte faire un forum à la main, est ce que je suis fou, et quels sont les pièges a éviter ?
B2 - Dans les formulaires, POST ou GET ? pasque GET, je vois pas trop l'interet ?
Message édité par boubours le 05-03-2003 à 22:20:52
---------------
coming soon