Ses derniers messages sur les forums
LIMIT 1 fonctionne, c'est une instruction de la grammaire SQL.
Il faudrait en dire plus car nous ne sommes pas devin. "ça ne marche pas" c'est vague et pas constructif.
Qu'elle est la structure de ta base de données?
As-tu un champ en auto-incrémente?
Si cela n'est pas le cas en effet ça fonctionne pas car sans rien pour déterminer qu'elle est la dernière entrée dans la base (pas de date, pas d'identifiant incrémenté) c'est impossible.
Ensuite et là c'est un petit coup de gueule.
Lisez les docs. Un forum d'aide est là pour aider pas pour faire le boulot à votre place.
Un informatique, il faut un minimum chercher et un minimum de courage pour lire les docs.
Si tu veux utiliser smarty, va lire la doc smarty.
Si tu butes sur un problème précis, là nous pouvons t'aider mais en aucun cas faire le boulot pour toi.
Bah il écrit :
ORDER BY acceuilID DESC
Donc j'ai supposé que accueilID était sa clé primaire en auto-inscrémente. Et comme il DESC (décrémente) il part du dernier. Donc avec un LIMIT 1 logiquement il doit prendre le dernier.
Bon j'avoue que j'aurais pas fait comme ça car c'est un peu "barbare" comme méthode. Prendre l'ensemble des résultats pour n'en sortir qu'un c'est une perte énorme de perf.
Il aurait pu prendre uniquement la dernière valeur de l'auto-encremente avec LAST_INSERT_ID() et retourner cette dernière ligne.
Pour afficher le dernier, il te faut utiliser LIMIT 1 dans ta requêtte MySQL.
C'est aussi bête que ça.
Je suis d'accord, l'utilisation première de dom est le xml (c'est un peu sa raison d'être) mais il est aussi utiliser pour le html.
Je te donne un exemple de fonction spécial html avec dom.
DOMDocument->LoadHTML()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()
Par contre bizarrement j'ai eu plus de mal avec le xhtml et dom.
C'est un outil intéressant et que j'aime assez. Je l'utilise par exemple dans une classe qui me génère des menus dynamiques multi niveaux à partir du base de données.
Mais là je m'éloigne du sujet premier
Bon déjà une définition 1Ko = 1024 Octets. Et oui nous sommes dans les puissances de 2 lorsqu'on parle des octets. Je vais pas entrer dans un cours mais c'est bon à savoir.
Donc 800Ko = 800 x 1024.
Ensuite si tu veux avoir une idée des choses à tester fait un
print_r($_FILE); Tu vas avoir un beau tableau associatif qui va ressembler à ça
Array
(
[image] => Array
(
[name] => monimage.gif
[type] => image/gif
[tmp_name] => totoenvacance.gif
[error] => 0
[size] => 1200
)
)
Là normalement tu devrais voir déjà les choses à corriger dans ton script. php fait déjà une partie du boulot donc autant utiliser le tableau qu'il te donne pour tes tests.
Ensuite comme tu bosses sur une image je t'invite à regarder la fonction getimagesize qui te donne pas mal d'info sur cette dernière. Taille, hauteur,largeur,type...
Bah le principe est simple php récupère le lien du fichier et le passe à flash qui l'affiche.
Mais à aucun moment php charge les données de la vidéo. C'est pas son rôle. Il sert juste de passerelle. A la place de crypter tu peux mettre ton dossier contenant les vidéos en dehors de l'aborescence du site et empêcher par htaccess le listage des .avi
Un peu comme ça.
monserver/videos/.htaccess
monserver/www/index.php
dans le dossier vidéo tu as tes vidéo et le fichier htaccess et dans le dossier www ton site.
C'est qu'une idée à toi de voir comment monter ton truc
Bon je vais essayer d'être constructif.
Même en backoffice il faut sécuriser. Il faut pas se dire que parce qu'un mot de passe protège le backoffice il est protégé. Un bon brute force et un peu de temps fait craquer les 3/4 des mots de passe.
De plus les 3/4 des fonctions php renvoient quelque chose. Et se quelque chose il faut le vérifier.
Par exemple dans ton script si la connexion n'est pas etablit il se passe quoi? Pas de message, rien.
Ensuite lors d'un téléchargement. Le minimum c'est de tester
Le formulaire à t'il été envoyé?
Le fichier à t'il été correctement envoyé?
La taille du fichier est tel correcte?
Le type mime du fichier est'il correct?
Le fichier à t'il été correctement déplacé?
ça c'est le minimum syndical.
En plus je crois comprendre que ton script est amené à être distribuer. Donc il faut avancer pas à pas. Avoir la doc sous les yeux et vérifier le plus possible. Il ne faut rien laisser passer.
Je sais que php est un langage permissif mais il faut se forcer à coder pro. Plus ton code est propre et bien structuré moins t'as de soucis.
Pourquoi tu fais un isset et un empty? empty teste l'existance et vérifie que la variable n'est pas vide.
En plus là si ton formulaire est soumis sans être complèté, tu vas avoir une ligne vide dans ta base de données.
3ème point et le plus important selon moi. Il n'y a aucune sécurisation des données. Aucun test, rien, nada.
Pour un site marchant ça fait peur :/
Image que je sois malhonnête et que je telecharge un script perso. Je fais un peu la loi sur ton site. Pour un site marchant faut passer par des pro ou être un pro.
Désolé d'être aussi direct mais là je pense à tes futurs clients
Avec DomDocument tu peux charger ton fichier et le manipuler comme tu veux par la suite.
<?php
$dom = new DOMDocument();
$dom->load("monfichier.html");
$imgs = $dom->getElementsByTagName("img");
?>
C'est une piste mais regarde bien la doc tu vas voir que c'est un puissant outil. De plus il est assez simple à comprendre et une fois maitrisé c'est un plaisir de manipuler des fichiers avec
Tu n'arrives pas à récupérer le type mime de tes images?
T'as quoi comme version de php? la 5.3 ou en dessous?
Et pour le css je comprends pas? C'est quoi qui te dérange?