Coup de main pour projet php

Répondre
daguero
le 27/05/2007 à 23:59
daguero
Bonsoir,

je dois réaliser un projet php qui consiste à mettre en place un mini système de folksonomies, pour cela je dois fonctionner en plusieurs étapes :

1. Préparation d'un fichier d'informations contenant les infos nécessaires à une connexion sur ma base de données (infos.php).

2. Création des relations nécessaires (creabase.php).

3. Création d'un index contenant un lien vers la page de création des relations (index.html).

4. Document html contenant un formulaire permettant de saisir un document (le titre, l'url et le mot-clé) (saisie.html).

5. Un document permettant de traiter le résultat du formulaire en sauvegardant les informations dans la base de donnée en faisant attention aux doublons (ajouterdocument.php).

J'ai commencét ces 5 document et je les aient mis à l'adresse suivante : http://daguero.jexiste.fr/PHP.rar

Le problème, c'est que je suis un super débutant en php, ça fait 2 heures que je cherche sur le web afin d'améliorer ça mais j'y comprend de moins en moins donc si vous pouviez me dire ce qui ne va pas et ce qu'il faut rajouter dans ces documents ce serait super sympa.

Merci d'avance :D
Keika
le 28/05/2007 à 07:01
Keika
ok, y'a du boulot !

Deja si t'es un debutant, comment ca ce fait que tu ais un projet comme ca a faire ? Tu n'as pas tes cours qui t'explique comment faire ?

Bon voyons deja la page creabase.php:

si tu executes (lire avec ton navigateur) cette page, rien ne se passera jamais... Desole :d
tu as oublie de lancer la requete (et oh fait, tu es comme Bzh... requete n'a qu'un T pas deux :s)
Pour lancer une requete SQL tu utilises:

<?php
mysql_query(ta_requete) ;
?>


Ensuite, si tu executes cette page avec le mysql_query, tu creeras ta base de donnee a chaque execution, ce qui posera problemes... donc faut que tu verifies si elle existe deja... avec un simple if ca devrait faire l'affaire.


page ajouterDocument.php:
manque un ; apres le premier exit
print() et pas juste print ""
Oh et puis apres les if et else ce sont des accolades que tu as pour ouvrir/fermer, pas des parantheses.
et pareil qu'avant, tu lances une requete SQl sans rien verifier avant... c'est dangereux. Ainsi que tu ne securises pas tes requetes SQL avec quelque chose comme mysql_real_escape()

saisie.html:
en accords avec les normes W3C, les valeurs de variables HTML sont contenues entre guillemets " " (pour les type et name...)

Voila, ca c'est les bases que tu devrais reverifier. Apres pour bien faire il faudrait que tu fasses des verification partout, surtout avant de toucher a la BDD. Et je suis sur que les pros autour de nous te trouveront autre chose a modifier :d

Have Fun...
Le PHP --> C'est dur !
moogli
le 28/05/2007 à 14:02
moogli
crossposting
http://phpdebutant.org/forum_msg261569.php
Il en faut peu pour être heureux !!!!!
Keika
le 29/05/2007 à 07:36
Keika
ah m*** j'ai pas vu le mysql_die smiley

Sinon j'etais pas trop mauvais ^_^
Le PHP --> C'est dur !
daguero
le 06/06/2007 à 22:32
daguero
un système de folksonomie permet d'associer des mots clé à une url pour pouvoir y accéder plus facilement.

Merci keika, j'ai pris le temps de faire évoluer le tout et ça donne ça : http://daguero.jexiste.fr/PHP.rar

Tout marche à merveille pour le rajout de mots clé mais le problème c'est que je ne sais pas comment faire pour le post d'image; en fait si le gars selectionne une image à associer, je veus que celle si soit copié dans le répertoire "images" et soit associée à l'url.

J'ai vu sur pas mal de site les commandes $_FILES['nom'] mais je n'arrive pas à le faire fonctionner, une idée svp ?
Keika
le 07/06/2007 à 11:30
Keika
et n'oublie pas de verifier la taille de l'image uploade, parceque tu ne veux certainement pas que des utilisateurs upload des grosse images en 3000*2500 (ou des miniatures peut etre.. :\)
Le PHP --> C'est dur !
daguero
le 07/06/2007 à 19:52
daguero
merci pour le lien glob mais je comprend pas grand chose à ce qu'il y a marqué ...

j'ai réussi a amorcer le truc et ça donne :


<?php

require('infos.php');

$db = mysql_connect($serveur, $user, $pass) or die ("Connexion impossible");

mysql_select_db($base ,$db) or die ("Connexion a la base impossible");


//défini le titre
$titre = $_POST['titre'];
if(empty($titre))
{
echo '<font color="red">Vous devez remplir tous les champs.</font>';
exit();
}
//définit l'image
$image = $HTTP_POST_FILES['img'];
//vérifie si le fichier est bien une image
if (!getimagesize($HTTP_POST_FILES['img']['tmp_name']))
{
echo "Vous devez mettre un fichier image.";
exit();
}
else
{
echo 'Le fichier est bien une image.';
}

$DESTIONATION_FOLDER = 'f:\PHP\images';
move_uploaded_file($_FILES['img']['tmp_name'], $DESTIONATION_FOLDER.$_FILES['img']['name']);




?>




le probleme déjà c'est qu'a ce niveau le fichier image rentré dans le formulaire saisieImage.html est copié dans mon répertoire F:/PHP et non F:/PHP/images comme je le voudrait, de plus je comprend pas vraiment comment uploader l'image dans ma base, mysql_query ??



ha ouais et pas la peine de redimensionner non je préfère commencer simplement :D

Note du modérateur : Penser au bb-code.....
Keika
le 08/06/2007 à 12:52
Keika
met un \ apres images dans:

$DESTIONATION_FOLDER = 'f:\PHP\images';

et tu n'upload pas une images dans une bdd, tu peux par contre y entrer le nom, ou le chemin de ton image. et ensuite utiliser ces infos depuis ta bdd
Le PHP --> C'est dur !
Répondre
LoadingChargement en cours