Ses derniers messages sur les forums
Il faudra penser à lire les conditions d'utilisation des forums, notamment la section concernant le BB-Code.
Sinon, as tu bien testé les variables que tu balances dans ton mail ?
Sont elles bien toutes remplies ?
Ne contiennent elles aucun \n voir des r\n (surtout pour les données d'entêtes du mail) ?
Quelle est la valeur de retour de la fonction mail ?
La fonction mail fonctionne t elle sur un exemple simple ?
Dans ton premier mail, le from n'est pas correct, on écrit pas "FROM:toto@toto.com" mais "From: toto@toto.com" (après, je ne sais pas si cela peut faire merder le mail, mais c'est plus mieux d'avoir un truc correct :p).
Aucune idée, cela dépend de la taille du cookie. Quelques centaines je pense.
Quel affichage ? Les echo ? Les echo servent à afficher le contenu binaire du document PDF. Et comme un header approprié est balancé juste avant, ben le navigateur télécharge le document PDF.
Ils sont nécéssaires, et ne sont pas la pour des tests : si tu "n'affiches" pas le contenu du PDF, le PDF ne peut pas être téléchargé.
Ca marche comme pour une page HTML ou un document gif.
Quand tu vas sur une URL, par exemple http://www.site.com/toto.gif, le server web balance un header en disant "coucou, le document qui va suivre, c'est une image gif", et ensuite, il écrit (d'où les echo) le contenu binaire du gif.
En gros, ce qu'il te manque, c'est quelques connaissances du protocole HTTP. Regarde wikipedia (les notions de bases suffisent, pas besoin de rentrer dans les RFC).
Et la constante, je ne sais plus pourquoi je l'avais défini à ce nombre d'octets.
Oui :)
En fait, ce système est basé sur un cookie, mais malheureusement, les cookies ont une taille limite et apparemment ton cookie a atteint cette taille limite.
En gros, si tu effaces tes cookies lephpfacile, le problème disparaitra.
C'est le DL_BUFFER c'est une constante arbitraire, et la boucle, ben elle balance les data au fur et à mesure, elle permet de pas tout echo d'un coup.
Si ca te gene, tu vires cette boucle et tu fais un simple echo.
Je t'avouerais que je l'ai su, mais que je ne m'en souviens plus trop.
J'avais fais ça à mon ancien taff, surement parce que un echo normal ne passait pas pour certains navigateurs ou alors c'était à cause d'une configuration louche du serveur web.
Pour l'utiliser, c'est simple, tu fais un .php avec dedans : download($binary_data, 'toto.pdf');
Et juste ca, pas de HTML avant ni après, sauf bien sur du PHP pour récupérer le $binary_data (en gros, ne provoque pas la génération de header HTML quoi).
$binary_data représente les données binaire du PDF (après, tout dépend de où est stocké ton PDF, si il est sur le filesystem, un simple
file_get_contents peut te retourner ces données binaire, ou si c'est en base dans un champ blob, un select SQL te donnera ces données).
Je parie que tu as cette erreur quand tu lances une recherche qui contient un caractère '.
Sinon, ce genre d'erreur arrive quand tu lances un mysql_fetch_array sur un mysql_query qui a retourné false, et donc cela veut dire que la requête SQL que tu lances juste avant la ligne 26 a merdé.
En regardant ton code, je vois que tu n'escapes pas les données de tes requêtes SQL, et ça, c'est mal. Pour deux raisons :
- tu te manges ce genre d'erreur
- tu te met en position de victime d'injection SQL
Bref, pour toutes tes requêtes SQL, utilise la fonction
mysql_escape_string pour protéger tes données.
Exemple :
<?php
$sql = "SELECT blu FROM table WHERE polom = '".mysql_escape_string($recherche)."'";
?>
(note bien la position des guillemets)
PS : quand tu copies colles du code sur le forum, pense à retirer les identifiants de connexion MySQL de ton code :)
La pollution de forum, c'est cool :) Ca fait longtemps que ce n'est pas arrivé ici.
Je suis d'accord avec toi :)
Une condition d'arrêt ?
Si je me rappelle bien de mes cours à la fac, c'est comme ça que les profs appelaient ce deuxième terme.