Help

Mammouth du PHP | 859 Messages

04 mai 2005, 10:00

Dans ta base, tu vas stocker les chemins vers tes fichiers images et non les images directement.

Si tu as commencé le PHP il y a 2 jours, tu vas trop vite, il te manque beaucoup de notions :

http://www.phpdebutant.org/article118.php

Mammouth du PHP | 19672 Messages

04 mai 2005, 10:09

Comme vient de le dire flitox, tu ne vas pas stocker directement les images dans la base mais les informations recueillies lors du traitement des informations du formulaire.

Tu as déjà le nom, le type de fichier, et le chemin pour y accéder.

Il te manque les dimensions exactes: tu peux utiliser la fonction getimagesize(). Je te laisse voir la doc qui sera plus claire que moi sur le sujet.

à partir de là, il te reste à créer la requête qui va insérer tout ça dans ta base de données.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 10:19

Alors, là effectivement j'ai encore des progrès à faire. Je pensais que la requête permettant d'insérer les fichiers se situai dans mon code :

Code : Tout sélectionner

if ($infos == '') { $res = mysql_connect('localhost','root',''); mysql_select_db('fichiers',$res); $add = mysql_query("INSERT INTO uploads VALUES ('','{$titre}','{$client}','{$f1_name}',{$f1_size});"); }
Ayant pratiqué un peu le sql, pour moi cette requête signifie : insérer le titre saisi, le nom du client, du fichier et la taille du fichier. Je pensais que cela permettait d'insérer le tout dans ma base.
De plus, quand je teste ma page, comme je l'ai dit, l'upload se fait bien dans les fichiers mais j'ai le message d'erreur :

Code : Tout sélectionner

//Si tout est bon (aucune erreur dans $infos), on déplace le fichier if ($infos == '') { move_uploaded_file($f1_tmpname, "./fichiers/{$f1_name}") or $infos .= "- [u][b]Impossible d'enregistrer le fichier, contacter le webmaster[/b][/u]!<br>"; } if ($infos == '') { $res = mysql_connect('localhost','root',''); mysql_select_db('fichiers',$res); $add = mysql_query("INSERT INTO uploads VALUES ('','{$titre}','{$client}','{$f1_name}',{$f1_size});"); } }
Ainsi, la requête n'est pas effectuée. Voici ce que j'avais compris mais j'avoue que vos derniers posts me montrent que je suis encore loin d'avoir tout cerné !

Mammouth du PHP | 19672 Messages

04 mai 2005, 10:35

TU peux simplifier un peu le dernier bout de code:
//Si tout est bon (aucune erreur dans $infos), on déplace le fichier
    if(move_uploaded_file($f1_tmpname, "./fichiers/{$f1_name}"))
    {
        $res = mysql_connect('localhost','root','');
        mysql_select_db('fichiers',$res);
        $add = mysql_query("INSERT INTO uploads VALUES ('','{$titre}','{$client}','{$f1_name}',{$f1_size});");
        if($add != false)
        {
            $infos .= "- <b>Les informations ont bien été enregistrées.</b><br>";
        }
    }
    else
    {
        $infos .= "- [u][b]Impossible d'enregistrer le fichier, contacter le webmaster[/b][/u]!<br>";
    }
}
Ceci dit, tu peux maintenant récupérer d'autres informations directement sur le fichier avec getimagesize() et les ajouter dans ta base. Tu en auras besoin pour l'affichage sur le site quand tu voudras ajouter les attributs de dimension à ta balise <img>

Dans l'ensemble, je crois que tu es dans la bonne direction.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 10:52

Ok, merci mais est-ce normal que le mess "Impossible d'enregistrer le fichier, contacter le webmaster!" soit toujours présent ?
Je vais mtnt me pencher sur getmysize(). Par contre, je ne comprend pas quel est le rôle de la requête déjà présente dans mon code si ce n'est d'insérer les données dans la base ?
(Dit moi si ça te saoul, je me démérderai tout seul)

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 11:17

Avec, ce que j'ai compris de getmysize() et l'exemple donné, j'ai écrit ce bout de code :

Code : Tout sélectionner

//Récupération des informations concernant les images list($width, $height, $type, $attr) = getimagesize $_FILES['fichier1']; echo "<img src=\"./fichiers/{$f1_name}" alt=\"Exemple de getimagesize()\" $attr />";
je l'ai ajoutté après :

Code : Tout sélectionner

//Vérification du client et du titre if ($titre == '') $infos .= "- Vous devez définir un titre!<br>n"; if ($client == '') $infos .= "- Vous devez entrer le nom du client!<br>n";
Et bien évidemment, cela a entaîne des erreurs donc mon script n'est pas valide.

Mammouth du PHP | 859 Messages

04 mai 2005, 11:43

Bon je vais être franc avec toi Flo, tu te mélanges complètement.

Pourquoi commencer par quelquechose de compliqué alors que les bases ne sont pas là? Je comprends que tu aies envie de sauter des étapes mais dans ce cas ça ne sera sûrement pas ta dernière question.

Tu brûles les étapes à une vitesse telle que tu vas te planter au moins 1 fois à chaque coup. Prend le temps de regarder les tutoriaux !!!

Avant de me jetter dans le HTML, j'ai regardé des sources pour voir comment étaient faites les structures, avant de me jetter dans le PHP, j'ai acheté un bouquin, j'ai regardé longuement les tutoriaux, j'ai décortiqué des scripts tous faits...

Et toi tu débarques dans le PHP depuis 2 jours et tu commences par l'upload, le calcul de taille des images, l'insertion dans les bases de données, etc...

En soi c'est pas très compliqué.............quand tu as les bases.

PS : En ce moment, j'essaye de transformer mon site de façon à ne plus utiliser des tableaux mais des calques afin de respecter les standards. J'y suis pas allé à l'arrache comme ça, j'ai regardé pendant une journée les fonctions des balises <div> en faisant des tests (juste <div> !!!) pour être sûr de retrouver le même positionnement qu'avec les tableaux et je me suis lancé.

Je le peaufine pour qu'il passe bien sous IE car sous Firefox aucun problème.

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 11:51

J'ai bien compris flitox mais je doi faire cette base au plus vite et ce même si je ne comprend pas tout. Car une fois que celle-ci sera faite, je ne toucherai plus ni au code php, ni à cette base, je gérerai le tout en action script (et un peu en html). Donc l'important c'est qu'elle marche et que je puisse manipuler son contenu depuis flash. Maitriser le php ne m'intéresse pas. C'est donc pour cela que je me permet de brûler les étapes et de commencer directemment par ce dont j'ai besoin ! Je n'ai que deux mois pour faire le site, c'est très court !

Mammouth du PHP | 859 Messages

04 mai 2005, 11:55

Sauf que si personne ne peut t'aider tu devras te débrouiller seul et ne pas avoir de base c'est courir droit dans le mur comme ce qui t'arriverait en ce moment si Cyrano ne t'aidait pas...

ViPHP
ViPHP | 2144 Messages

04 mai 2005, 11:56

Quand on veut qu'un boulôt soit fait soit on prend quelqu'un qui a les compétences requises, soit on lui laisse le temps de les acquérir

L'aveu de ne pas vouloir apprendre après 4 pages de postes est éloquent
Ta demande avait sa place dans le forum emploi et pas ici

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 12:12

Je comprend pas que cela vous agace mais si cela vous dérange, je vais donc arrêter de poster.
Durant ces deux années d'études, j'ai galéré comme un fou pour avoir des résultats corrects en programmation (je n'y suis jamais parvenu). Ce n'est pas fait pour moi, c'est tout. IL se trouve que j'aimerais quand même avoir mon diplôme pour des raisons évidentes. Ainsi, j'aimerais réussir mon stage pour avoir mon année. C'est pour cela que j'essaie de me débrouiller comme je peut et étant seul cyrano était mon seul appui.
Après, si cela énèrve et bien je vais arrêter de poster !
Cyrano je te remercie pour le temps que tu m'a accordé, ton aide précieuse et ta gentillesse.
Flitox je trouve ton dernier message pas terrible mais bon...
Aurevoir et désolé d'avoir pourri votre forum, je vous laisse entre experts

ViPHP
ViPHP | 2144 Messages

04 mai 2005, 12:18

Personne ne ta demandé de ne plus poster....
Mais pourquoi ne pas annoncer toute de suite la couleur ? et demander que quelqu'un te fasse le boulôt dans la section Emploi (où les propositions bénévoles sérieuses ont généralement leurs chances)
Si tu ne disposes pas des capacités requises pour réaliser un job qu'on t'impose, nous n'en sommes pas responsables...

Flo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 12:27

Tout d'abord, je m'excuse quand à mes réactions ! (filtox j'ai mal compris ton mess !)
je ne veux pas qu'on fasse le boulot à ma place. Et je suis conscient que cyrano accorde pas mal de son temps pour m'aider. De plus il était stupide de dire que je ne veux pas apprendre le php puisque celui-ci semble pratiquement incontournable pour réaliser des sites. Je suis en train de paniquer quand à l'aboutissement du site dont on m'a chargé et c'est pour cela que je post sans arrêt. je pense qu'il serai plus judicieux que je me plonge à fond dans le php mais j'ai peur d'échouer car comme je l'ai dit, la programmation c'est très difficile pour moi.
Donc je ne sais pas quoi faire...
Encore une fois je m'excuse pour mon dernier post

ViPHP
pjl
ViPHP | 2119 Messages

04 mai 2005, 12:27

Au moins tu as la franchise de le reconnaitre.

Pas comme certains qui balancent leurs devoirs en espérant qu'on va leur faire.

Mammouth du PHP | 859 Messages

04 mai 2005, 12:29

Flitox je trouve ton dernier message pas terrible mais bon...
Mais ce que j'ai dis est vrai, si tu dois te débrouiller seul, tu fais comment? Tu dois acquérir les bases sinon c'est la chute et toi tu as pris ça comme une agression.
Aurevoir et désolé d'avoir pourri votre forum, je vous laisse entre experts
Déjà, je ne suis pas un expert loin de là en plus je bosse dans le réseau et non dans la programmation...Alors moi l'admin réseau dont la programmation n'est pas mon avenir, je trouve que je fais beaucoup plus d'efforts que toi.

Ensuite tu n'as pas pourri le forum avec tes questions, tu as juste démontré par ta non envie d'apprendre que les efforts de Cyrano pour t'aider sont largement supérieurs aux efforts que tu veux entreprendre pour réaliser ce script.

Si pour toi la programmation est une contrainte avec laquelle tu ne veux pas perdre de temps, arrête ton année et trouve une autre orientation...

Je ne sais pas quoi dire de plus face à ça :
Durant ces deux années d'études, j'ai galéré comme un fou pour avoir des résultats corrects en programmation (je n'y suis jamais parvenu). Ce n'est pas fait pour moi, c'est tout
Je trouve dommage ta dernière réaction car on essaye juste de te faire prendre conscience que si tu n'y arrives pas c'est parce que tu sautes les étapes.

Tu n'as jamais brillé en programmation, d'après ce que tu dis, mais si tu appliques la même méthode que pour la réalisation de ce script c'est normal...

Et ne voit pas une agression dans ce que je dis mais plutôt de la franchise comme je te l'ai déjà signalé.

Toi qui t'y connais en Actionscript, tu aurais la patience de m'aider si je te disais que de toute façon, je me fous de Flash et que je veux juste finir mon script? NON !

Réfléchis bien à ça car on veut bien t'aider (oui je veux bien t'aider) mais fais un effort de ton côté pour que j'ai l'impression que je ne planche pas tout seul sur la solution.
Modifié en dernier par flitox le 04 mai 2005, 12:38, modifié 2 fois.