Ses derniers messages sur les forums
Non
Ca, c'est en préparation :)
moogli a raison, il manque toujours les mysql_escape_string et les quotes (alors que tu l'as fais ailleurs) sur la requête avec le "WHERE login=$nom_sql AND pass=$pass_sql".
Ensuite, comment gérer les erreurs, je ne sais pas, je ne connais pas la classe que tu utilises.
Mais surement que le query doit retourner false si la requete plante.
Tu n'as pas tout rectifié. Il te manque les mysql_escape_string. Et tu ne testes toujours pas si tu as une erreur ou non.
Montre nous tes correctifs.
A mon avis, ce qui pose problème c'est ton $sql qui ne doit pas avoir une bonne tête : typiquement, il manque des quotes ' autour de nom_sql et de $pass_sql. Il manque aussi un mysql_escape_string.
Et donc $dbh->query($sql), ca doit générer une erreur.
Et donc $result n'est pas un résultat SQL, par conséquent, la méthode fetch() ne peux pas s'exécuter dessus.
En gros, faut que tu check les erreurs quoi.
Non, çà n'existe pas, et tu aurais le même problème : à chaque suppression, tu devras recalculer toutes les positions.
De toutes facons, MySQL ne les recalculera jamais pas pour toi (sauf procédure stockée, trigger : ce sont des trucs que tu dois écrire, c'est pas automatique), donc autant le faire avec du PHP.
Je ne suis pas en colère :)
Une simple requete SQL avec une restriction sur la date des news non ?
En home : SELECT texte FROM news WHERE date > 'la date limite que tu as choisis';
Et pour les archives, ben la même requête, mais avec la condition inverse.
Les comment faire sont vieux, bugués et mal codés.
Y'a des stripslashes / addslashes, alors que c'est le diable incarné ces fonctions, y'a pas de mysql_escape_string, aucun contrôle d'erreur, etc.
Personnellement, j'étais pour ne pas les remettre en ligne tant qu'ils étaient aussi mauvais que çà.
Vous les avez voulu, vous les avez.
Quant aux informations de session sur la page supprimer, je ne vois pas ce qui te chagrine.