Ses derniers messages sur les forums
Et le seule solution pour faire ca sans les buffers
c d'appeller le module avant, et de mettre tous le html dans une variable.
( donc pas de echo mail seulement $module_html='blabla')
Si je reprend ce que je disais avant, tu peux aussi le faire sans tout mettre dans une variable.
Exemple :
- index.php => gros switch qui définit sur quelle page tu es
- quand tu as trouvé ta page : include du php de la page
- dans le php de cette page : tu fais ton code php
- toujours dans cette page, tout en bas, tu fais un include de ton header html, un include du html de cette page puis un include du footer html
Et ca colle, et pas de "page en variable".
Tu aurais pu le faire autrement.
Ton index.php qui reçoit tous les hits de ton site ; j'imagine que dedans, tu as un gros switch pour savoir sur "quelle page" tu te trouves : une fois que tu as déterminé sur quelle page tu es, tu fais un include d'un fichier PHP qui gère le code (voir le html) de la dite page.
En faisant cet include, tu laisses cet index.php "lisible" car tu ne colles pas dedans tout le code du site.
Et rien n'empêche de faire un include header / footer juste avant et après cet "include de page".
Et la, ben c'est pareil, que des echo, "aucune page dans une variable".
Oui, par exemple, tu explode la chaine saisie par l'utilisateur.
Puis tu construis une requête SQL avec un AND pour chaque valeur du résultat du explode.
PS : Si tu comptes faire une série de LIKE sur des chaines de caractères avec ton moteur de recherche, tu n'utilises pas la bonne technique. Ta technique n'est valable que pour des égalités strictes sur des chiffres ou des chaines (si ce sont des inéquations, çà passe pour des chiffres). Si tu es dans ce cas (LIKE plus chaines de caractères), utilise plutôt un index fulltext, et recherche dedans avec des requêtes du genre MATCH ... AGAINST. Tout est expliqué dans la doc MySQL,
ici.
On s'est mal compris alors bzh ;)
Pour modifier les données avant de les envoyer au browser, tu peux utiliser des fonctions de bufferisation.
J'ai mis un lien sur un message précédent.
Un exemple me vient à l'esprit (car je suis sur que le problème de burnedsoul est trivial, et que c'est une connerie du genre).
Sur lephpfacile, quand on lit un sujet du forum, ca écrit le titre du sujet dans la balise <title> (qui se trouve donc en haut de la page).
Pour faire çà, forcement, si je fais un truc du genre :
<html>
<head>
<title>???</title>
</head>
<body>
bla bla
<?php
// selection du sujet
$titre_sujet = 'le sujet';
?>
</body>
</html>
Ben je vais être emmerdé.
Ai-je besoin pour autant de faire de la bufferisation ? Je ne pense pas.
Un simple code comme ceci suffirait :
<?php
// select du sujet
$titre_sujet = 'le sujet';
?><html>
<head>
<title><?php echo $titre_sujet; ?></title>
</head>
<body>
bla bla
</body>
</html>
Non ?
Ben c'est quoi l'intérêt de générer un truc, de le mettre en buffer, puis de le modifier, et peut être même de le modifier une seconde fois pour la déconne, puis de l'envoyer au navigateur ?
Autant bien le générer dès le départ : tu gagnes en temps d'affichage, en RAM et en CPU.
C'est clairement pas viable sur un gros portail ce genre de truc.
Ils ont tellement des problèmes de charge que les mecs génèrent carrément des pages html sur un disque dur pour éviter de trop faire travailler PHP (typiquement les news de yahoo).
Pour moi, pour du web, c'est pas logique d'utiliser ces features de buffer. Tu ne devrais jamais avoir à revenir en arrière.
PHP te permet de générer un "état" donné (une page html) ce que fera également ton buffer. On arrivera à la même chose : un contenu html fixe envoyé au navigateur : et pendant cette phase de transport, PHP n'a plus son mot à dire.
Car tu es d'accord que c'est seulement une fois que le contenu HTML est généré qu'il est envoyé au client.
Donc pourquoi perdre du temps avec l'étape buffer ?
Une des solutions pour conseiller burnedsoul, çà serait plutôt de faire tout son php avant la moindre balise HTML. Comme çà, sa variable, il l'aura plus haut dans son HTML.
Je ne vois pas bien le rapport entre l'infographie et tout ce qui est technique (php / mysql / ajax / Java).
A la rigueur, connaitre le html et les css est un bon point, car potentiellement, tu sais faire un design "découpable" en html /css. Mais le reste, je ne vois pas trop l'intérêt de le mentionner.
Vaut mieux dire que tu maitrises 2 sujets que 8 (c'est trop gros, passera pas comme on dit :p).
PS : je ne suis pas infographiste, et donc je n'ai jamais passé d'entretien pour çà :)
C'est crade si on peut faire autrement :) Et je suis persuadé qu'il peut faire autrement, revoir son script, etc.
C'est extrêmement rare d'avoir besoin d'un buffer pour faire du web (je ne vois pas dans quel cas cela peut être utile en fait).
Oui, attention aussi au formulaire : pour envoyer un fichier, celui doit contenir un enctype="multipart/form-data" dans le <form>.
Et tu récupères le fichier comme indiqué dans le cours sur
la récupération des données des formulaires.
Sans refresh de la page tu ne peux pas.
Par contre, pre-setter une variable javascript avec PHP, çà c'est possible :
<script type="text/javascript">
<?php
echo 'var toto = 3;';
?>
</script>