besoin aide pour remplacer fichier php par table sql? - PHP - Programmation
Marsh Posté le 22-04-2006 à 18:22:04
À la ligne 17:
$FVok=fopen("./jus_de_noni/Sondage_Res.php3","w" )
tu essaye d'ouvrir le fichier ./jus_de_noni/Sondage_Res.php3, avec "w" qui indique que le fichier doit être créé ou écrasé, avant d'être écrit.
Tu est peut être sous unix, aussi tu doit avoir la permission de créer des fichiers dans le répertoire jus_de_noni.
Marsh Posté le 22-04-2006 à 18:28:29
mes permissions de fichiers sont 644 j'ai reclasse mes fichiers dans 1 seul dossier en en renomant 2 , et en inscrivant mes reponses dans 1 seul fichier"Sondage_Res.php3", mais le resultant est le meme tous mes resultat de vote s'effacennt, peut etre mettre permissions 744 ?de plus je suis sous windows avec site heberge chez free.fr et j'utilise filezila comme client ftp
Marsh Posté le 22-04-2006 à 18:38:09
oui, 4=permission read, 2=permission write
tu doit donc avoir 664 sur le répertoire et le fichier, et ils doivent avoir tous deux le groupe ``apache`` utilisé par le serveur web.
comme tu est chez free, je suis pas sûr que tu puisse changer les permissions et groupes, si tu n'y arrive pas essaye 666 (edit: et mets un .htaccess)
Marsh Posté le 22-04-2006 à 18:52:51
j'ai bien essaye de changer les permissions avec filezilla mais ca marche pas. comment avoir acces aux fichiers autrement pour changer les permissions
Marsh Posté le 22-04-2006 à 18:55:07
Très certainnement tu ne peut pas changer les permissions.
Utilise une base de donnée au lieu d'un fichier.
Marsh Posté le 22-04-2006 à 19:00:59
c'est justement parce qu'il ny a pas de base de donnees dans ce script que j'avais choisi cette option , (non pas parce que je n'en ai pas , free en met une a disposition), mais parce que je sais pas faire
merci quand meme je vais tacher de trouver un script avec sql
Marsh Posté le 22-04-2006 à 19:34:51
Citation : |
pas vraiment, la plupart du temps, il te suffit de créer la base de donnée.
Marsh Posté le 22-04-2006 à 19:36:30
salut narguy ; desole de te deranger
je voulais savoir si il y avait beaucoup de modif a faire sur les scripts php afin de pouvoir utiliser une bd sql chez free car j'en ai deja une qui a destables sontage et votes
merci !
Marsh Posté le 22-04-2006 à 19:43:13
elle est deja creer il faut la modifier avec php myadmin ou supprimer l'existante et en recreer une (celle qui est en place ne sert plus a rien)
Marsh Posté le 22-04-2006 à 19:48:23
lance le script et vois si ça plante, s'il te dit que tu n'a pas l'autorisation change l'utilisateur et le mot de passe qu'il pourrait y avoir dans le script, s'il te dit qu'une BDD n'existe pas, crée là, s'il te dit qu'une table n'existe pas regarde dans le script ou l'aide qui va avec quelles tables il faut créer
Marsh Posté le 22-04-2006 à 19:53:39
oui mais le sondage actuelle na rien avoir avec la base en place c'est celle d'un ancien script qui aete supprimer qui faisait parti d'un portail (guppy) si tu veu je te comunique acces et mdp par email ou mp
Marsh Posté le 22-04-2006 à 20:10:34
Ma base est sur sql.free.fr
son nom = mon login
La table s'appel = sondages
il y a 8 ID en partant de 1 a 8
je viens de les creer dans une base existante
les ID 1 a 4 correspondent aux questions de la page index.php3 et Sondage_Qu.php3
et les ID 5 a 8 correspondent aux questions de la page index1.php3 et Sondage1_Qu.php3
jusque la je pense que ca va
mais apres pour modifier mon script (qui etait diriger vers la page Sondage_Res.php3 pour ecrire le resultat des votes)
quel est le chemin qu'il faut lui donner ?
Marsh Posté le 22-04-2006 à 20:16:26
ah oui j'oubliai
le champ question s'appel "question" il y a 8 questions avec chacun 1 ID de 1 a 8
les champs de reponses son "rep1,rep2,rep3" au lien de 0,1,2
et le nombre de reponse s'appel "nb1,nb2,nb3"
et 1 de mes code a modifier est celui-ci
Code :
|
et voici avec les modif que j'ai fait , mais a mon avis ca va pas etre bon
Spoiler : |
Marsh Posté le 22-04-2006 à 20:55:59
> si tu veu je te comunique acces et mdp par email ou mp
- non! ou alors tu m'envoye un chèque avec
> elle est deja creer il faut la modifier avec php myadmin ou supprimer l'existante et en recreer une (celle qui est en place ne sert plus a rien)
- ouais, dans le code que tu présente, je ne vois pas une once de mysql.
J'ai pas bien compris, qu'est-ce que tu cherche à faire? Adapter un script que tu as trouvé sur le net, ou faire toi même ton propre script de A à Z?
Marsh Posté le 22-04-2006 à 21:00:55
oui c'est ca
en fait j'aimerais adapter le script deja en place avec la base sql
pour remplacer le fichier sondage_res.php3 qui ne fonctionne pas faute de permissions d'ecriture
desole mais suis novice te pas tres doue
Marsh Posté le 22-04-2006 à 21:09:38
jchrist a écrit : Ma base est sur sql.free.fr |
voici la table sondage
Spoiler : -- phpMyAdmin SQL Dump |
Marsh Posté le 22-04-2006 à 21:17:04
ok, d'ac.
d'abord je te renvoie à la doc PHP ( http://php.net/ ), notamment les fonctions mysql suivantes:
Du point de vue de l'organisation de tes pages:
Pour créer ta base de donnée, avec mysql tu crée 1 table ``vote`` avec les champs:
Exemples de requêtes:
Récupère le nombre de votes pour la question1/réponse1
Ajouter 1 vote à question1/réponse1
Récupérer les votes de la question 1 ordonné par numéro de réponse
Du point de vue de l'organisation de ton script:
Pour démarrer la base, avec php myadmin tu crée la table, et tu la remplie avec les questions, les réponses, et le nombre de votes courant dans ton fichier ***Res.php3. Ensuite tu peut utiliser MyAdmin pour ajouter des questions.
Plus de doc sur Mysql: http://mysql.org/
Marsh Posté le 22-04-2006 à 22:11:37
bon merci du Bon conseil !
je vais essayer de m'en sortir ca a pas l'air tout simple, mais j'y passerai le temps qui faudra et reprendre tout a 0
y a til possibilite d'utiliser la tablr sondage deja creer
sinon les champs a ceer sont ils en varchar
Marsh Posté le 22-04-2006 à 22:31:43
voila j'ai creer une table (enfin je l'ai modifier)
est-ce que ca peu convenir ?
Spoiler : -- phpMyAdmin SQL Dump |
Marsh Posté le 22-04-2006 à 22:35:09
> y a til possibilite d'utiliser la tablr sondage deja creer
- elle est très mal conçue, je te conseille vivement d'en faire une autre comme je t'ai indiqué
> sinon les champs a ceer sont ils en varchar
- ce sont tous des entiers, type ``int``
Marsh Posté le 22-04-2006 à 22:36:44
Code :
|
Elle est mal conçue cette table.
Utilise le modèle que je t'ai montré plus haut.
Marsh Posté le 22-04-2006 à 22:49:48
Code :
|
dans ce genre ?
Marsh Posté le 22-04-2006 à 23:14:02
oui, voilà, sauf remplace ``varchar`` par ``int``
id_question: numéro de question
id_reponse: numéro de réponse
Avec au départ:
Code :
|
Par exemple, un internaute vote réponse n°2 à la question n°1 <<Votre Sante vous est elle importante ?>>:
Code :
|
Dans un premier temps, tu n'a pas besoin de mettre le titre de la question dans la base, seulement son numéro.
Ensuite, si tu veux changer l'intitulé des questions/réponses avec PHP MyAdmin, tu peut ajouter une autre table:
table ``questions``
...et un autre champs dans la table ``sondage``:
Marsh Posté le 22-04-2006 à 23:16:07
ah oui, après l'exemple UPDATE que je t'ai donné, tu as dans la table les valeurs:
Code :
|
Marsh Posté le 23-04-2006 à 12:28:53
Bonjour !
j'ai la tete plus repose et les idees plus clair
donc j'ai creer cette table j'espere que c'est bon
Code :
|
mais ne peut 'on pas inserer un champ de plus
en text qui serait l'intituler de la question ?
plutot que de faire une seconde table
dans ce genre la ?
Code :
|
Marsh Posté le 23-04-2006 à 15:11:04
> nb_vote` tinyint(50)
ça va pas! ... un tinyint est trop petit, il te faut au moins un ``integer``
> mais ne peut 'on pas inserer un champ de plus
> en text qui serait l'intituler de la question ?
> plutot que de faire une seconde table
- non! interdit! forbidden! niet!
bon, ok, ça peut paraître plus simple, assez logique, mais il y a une règle qu'il vaut mieux respecter en matière de conception de base de donnée: éviter les doublons. Dans le modèle à deux tables, on évite les doublons de chaînes de caractères. Ils peuvent poser plusieurs problèmes:
Je peut t'assurer que de faire deux tables, même pour un problème aussi simple que le tiens, est la seule solution envisageable.
Dans un premier temps tu n'a absolument pas besoin de cet intitulé de question, il est interessant de le mettre quand tu désire changer facilement les intitulés des questions, ou que tu a un grand nombre de questions. Pour seulement 4 questions, c'est facultatif, tu peut t'y retrouver sans.intitulé.
Marsh Posté le 23-04-2006 à 15:18:01
donc il faut faire ca
Code :
|
Marsh Posté le 23-04-2006 à 15:39:47
bon voila la table de creer amis maintenant il va faloir que je modifie mon fichier index.php3 pour remplacer les commandes php par des requetes sql.c'est bien ca
Code :
|
ou d'ailleur il y aura un fichier de supprimer puisque le fichier de reponse ne sera plus necessaire puisque que le code utilisera une base sql
Marsh Posté le 23-04-2006 à 17:14:18
oui c'est ça, relis le post précédant, consulte les liens que je t'y ai donné, et surtout prête attention aux exemples que tu trouvera sur le site php.net
Marsh Posté le 29-04-2006 à 16:11:25
bonjour a tous !
voila j'ai reussi a faire quelque chose
mais ma requete ne prend en compte que la dernier id de ma table et n'affiche que les reponses a une questions
je voudrais que le script affiche mes 4 ques tions avec leurs reponse
Code :
|
Marsh Posté le 22-04-2006 à 16:21:53
bonjour ! atous les cracks du PHP
moi je suis novice en la matiere
j'ai une erreur sur une page lorsque je vote sur mon sondage
in /var/www/free.fr/4/3/jcdiderich/sondages/Sante/index.php3 on line 17
Echec de la creation du fichier !!!!
de plus la comptabilisation des votes ne se fait pas et m'efface le chiffre de base qui est "0"
le premier fichier de questions
et voici le fichier de reponse qui se trouve dans un dossier different
il ya deux fichiers questions dans deux dossiers differrents est-ce que cela peux venir de cela
merci de m'aider !
Jean christophe
Message édité par jchrist le 29-04-2006 à 17:39:48
---------------
Jean christ 34 beziers