Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1721 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Code formulaire non-interprété [Résolu] & mémorisation valeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code formulaire non-interprété [Résolu] & mémorisation valeurs

n°1651746
dusty35
Posté le 01-12-2007 à 21:54:20  profilanswer
 

Bonjour
 
Etant tout nouveau dans le php, je suis face à des problèmes. En effet, j'essaie de faire un formulaire simple a partir d'un tuto http://www.swsysteme.com/tutos/tutocase.php et le code n'est pas interprété : au moment où je clique sur "voir" tel que mon code est entré (ci-dessous) ca m'ouvre mon fichier "fenetre.php" tel quel. J'ai mis les balises html et là, rien ne s'affiche sur ma nouvelle page. C'est surement un truc tou bête mais je ne vois pas. J'ai essayé avec plein de codes différents mais les symptomes sont toujours les mêmes...
 
J'ai lu le topic d'aide du forum, dont la catégorie "IV) Mon code s'affiche dans le navigateur au lieu d'etre interpreté " mais mon site fonctionne très bien et j'obtient les infos php sans soucis (PHP V5.2).
 
Voici le "formulaire.htm" =>
 
<form method='POST' action='fenetre.php'>
<input type='checkbox' name='case' value='on'>
Case à cocher simple .<br>
Cochez-la ou pas puis cliquez sur Voir pour connaitre le résultat.
<br><input type='submit' name='exple1' value='Voir'>
</form>
 
Voici le "fenetre.php" =>
 
<?  
if(!empty($_POST['case')){
echo"Vous avez coché la case";}
else
{echo"Vous n'avez pas coché la case";
}
?>  
 
Merci d'avance et désolé si ce problème à déjà été rencontré mais je n'ai rien trouvé.


Message édité par dusty35 le 03-12-2007 à 22:07:52
mood
Publicité
Posté le 01-12-2007 à 21:54:20  profilanswer
 

n°1651747
flo850
moi je
Posté le 01-12-2007 à 21:58:10  profilanswer
 

remplace <?  
par <?php

n°1651749
olivthill
Posté le 01-12-2007 à 22:04:05  profilanswer
 

Remplacer la première ) par ] dans la ligne

if(!empty($_POST['case')){


n°1651750
dusty35
Posté le 01-12-2007 à 22:27:35  profilanswer
 

Merci pour ces réponses mais ca ne fonctionne toujours pas (pour les parenthèses, c'était un mauvais copié collé dans mon post).
 
c'est vraiment étrange comme problème, j'ai l'impression que ca vient de chez moi car tout les sites qui proposaient des formulaires étaient dans le même principe. Avez vous déjà essayé un fichier dans le genre chez vous? Peut être que j'ai oublié quelques ligne dans mes fichiers?

n°1651754
gatsu35
Blablaté par Harko
Posté le 01-12-2007 à 22:48:52  profilanswer
 

active l'affichage des erreur dans ton PHP au passage

n°1651791
dusty35
Posté le 02-12-2007 à 12:30:10  profilanswer
 

Bon bah en fait ca marche, en fait je testais le fichier dans un dossier quelconque de mon PC. J'ai déplacé mes 2 fichiers sous le répertoire "Web" de mon site et la ca fonctionne... C'était en effet un truc bête. QUelqu'un peux m'expliquer pourquoi ca ne fonctionne que sous le repertoire "Web"? c'est surement car ailleurs, le PHP n'est pas géré et pas interprété? Dans ce cas là, les essais en local ne sont pas possible, je me trompe?

n°1651793
SICKofitAL​L
misanthrope
Posté le 02-12-2007 à 12:43:29  profilanswer
 

dusty35 a écrit :

Bon bah en fait ca marche, en fait je testais le fichier dans un dossier quelconque de mon PC. J'ai déplacé mes 2 fichiers sous le répertoire "Web" de mon site et la ca fonctionne... C'était en effet un truc bête. QUelqu'un peux m'expliquer pourquoi ca ne fonctionne que sous le repertoire "Web"? c'est surement car ailleurs, le PHP n'est pas géré et pas interprété? Dans ce cas là, les essais en local ne sont pas possible, je me trompe?


C'est le serveur qui interprete le PHP, pas le navigateur.
Donc il faut que le fichier te soit "servi" par le serveur web.
Et sinon oui, prend l'habitude de mettre "<?php" en début de script au lieu de "<?" ;)


---------------
We deserve everything that's coming...
n°1652149
dusty35
Posté le 03-12-2007 à 13:47:57  profilanswer
 

Ok merci beaucoup, je comprend mieux maintenant. je me permets de poser une autre question:
 
Mon projet est de faire un formulaire de configuration pour un lecteur Flash. J'utilise 3 fichiers:
-Mon formulaire en html/php avec mes choix de couleurs, les URL de mes sons, etc...
-Mon fichier de traitement en PHP qui ecrit la config dans le dernier fichier en fonction de ce que j'ai mis dans le formulaire.
-mon fichier texte "config.txt" (dont flash a besoin pour les parametres)
 
J'ai réussi a faire ce que je voulais : formulaire avec case a cocher, pickcolor, textearea, etc.. mais le soucis c'est que quand j'entre dans mon formulaire, je n'arrive pas a garder en "memoire" mes config déjà inserées. Si j'ai 3 pistes de musique dans mon lecteur et que je veux juste en rajouter une, je suis obligé de remettre les 3 autres avant car il les perd dans mon formulaire. Je ne souhaite pas utiliser MySql car le fichier de config ne contient qu'un 20aine de ligne. J'ai bien essayé pour lire mon txt les "$fread" dans "value=**" mais il me lit tout et pas une ligne particuliere.  
Quelqu'un aurait une idée?
 
EDIT: Le formulaire pour info
 
http://img104.imageshack.us/img104/9760/clfyh0.jpg


Message édité par dusty35 le 03-12-2007 à 14:00:37
n°1652434
dusty35
Posté le 03-12-2007 à 20:05:43  profilanswer
 

Je ne comprend vraiment pas, j'ai l'impression d'avoir tout essayé... ca ne doit pas être compliqué je pense mais trop pour moi. je ne sait même pas si j'utilise les bonnes méthodes déjà. SICKofitALL?

n°1652528
SICKofitAL​L
misanthrope
Posté le 04-12-2007 à 09:01:17  profilanswer
 

peux-tu détailler ton soucis ?
et s'il s'agit de conserver des données, pourquoi vouloir se passer d'une base de données, genre mySQL ?


---------------
We deserve everything that's coming...
mood
Publicité
Posté le 04-12-2007 à 09:01:17  profilanswer
 

n°1654824
dusty35
Posté le 07-12-2007 à 22:44:36  profilanswer
 

il sagit bien de vouloir conserver les données. En fait, comme vous pouvez le voir sur la photo ci dessus il y a des champs pour l'URL du MP3. Prenons un exemple: Je mets l'url du son "Web/sons/divers/toto.mp3" et je renouvelle l'operation pour tout les champs désirés. je vais sur la page de mon lecteur et aucun soucis, toutes les pistes sont là, les couleurs définies sont celles que j'ai choisies, etc. Sauf que si je veux ajouter un sons, je suis obligé de rentrer a nouveau les X autres Url déjà renseignée+ la nouvelle url. Ceci car mon formulaire n'a pas gardé en mémoire les infos précedentes.  
 
Voici les codes:
 
Extrait du formulaire :

Code :
  1. <form action="player/clf.php" method="post" target="preview">   
  2. (...)
  3. URL piste 01:<input type="text" size="20" name="menu[0][" value=""> titre <input type="text" size="20" name="menu[1][" value="">


 
Extrait du traitement (clf.php):

Code :
  1. @$menu=$_POST['menu']; 
  2. $data=''.$date.'
  3. mp3='.$menu[0].'|'.$menu[2].'|'.$menu[4].'
  4. title='.$menu[1].'|'.$menu[3].'|'.$menu[5].'
  5. (...)
  6. $fp = fopen($sujet.'cf.txt',"w+" );
  7. fputs($fp,$data);
  8. fclose($fp);


 
Extrait du fichier de config du lecteur Flash (cf.txt)

Code :
  1. mp3= ||
  2. title= ||
  3. bgcolor1=
  4. bgcolor2=


 
pour info, le fichier de config doit être noté de cette façon ( "|" entre les pistes).
 
Voilà, je ne sais pas si c'est clair pour vous maintenant... J'ai pioché plein de méthodes un peu partout et j'ai mixé, je suis pas sur d'avoir choisi les meilleures solutions.
 
Je ne souhaite pas utiliser MySql dans un 1er temps car je maitrise tellement peu le simple code... mais si vous me dites que c'est indispensable pour mon projet, je m'y mettrait. Merci de vous interresser à mon problème.
 
 
 

n°1654873
sielfried
Posté le 08-12-2007 à 11:24:39  profilanswer
 

Bah si tu veux stocker des données d'une session à l'autre, c'est MySQL ou fichiers, mais dans 99% des cas une bdd est plus pratique et efficace.
 
Bref, tu stockes dans un fichier là si j'ai bien compris ? Et tu veux rechopper les valeurs de ce fichier pour renseigner les valeurs du form quand tu reviens dessus ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1654883
dusty35
Posté le 08-12-2007 à 11:55:11  profilanswer
 

Oui c'est exactement ça, je veux récuperer mes valeurs de form quand je reviens dessus  et ma question est : Comment et dans quel fichier, "clf.php" ou "cf.txt"?. J'aimerais réussir de cette façon dans un 1er temps et je pense, que je m'attaquerais à MySql dès que j'aurais plus de maîtrise des codes de bases PHP.

n°1654885
sielfried
Posté le 08-12-2007 à 11:58:17  profilanswer
 

Fais voir la tronche de ton fichier cf.txt.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1654894
dusty35
Posté le 08-12-2007 à 12:30:52  profilanswer
 

En fait, "cf.txt" est écrit grace a "clf.php" grace au code :
 

Code :
  1. $fp = fopen($sujet.'cf.txt',"w+" );
  2. fputs($fp,$data);
  3. fclose($fp);


 
Flash a besoin qu'il ai une structure particuliere, le voici au complet, renseigné à la main :
 

Code :
  1. mp3=sons/toto.mp3|sons/tata.mp3
  2. title=artiste - toto|artiste - tata
  3. bgcolor=33CC33
  4. bgcolor1=33CC33
  5. bgcolor2=FFF000
  6. buttoncolor=33CC33
  7. buttonovercolor=999999
  8. slidercolor1=CC0033
  9. slidercolor2=cccccc
  10. sliderovercolor=999999
  11. textcolor=dddddd
  12. playlistcolor=33CC33
  13. currentmp3color=33CC33
  14. scrollbarcolor=cccccc
  15. scrollbarovercolor=f9bf37
  16. showvolume=1
  17. height=200
  18. width=200
  19. volume=200
  20. autoplay=0


 
J'ai essayé de lire les lignes avec

Code :
  1. value="$fread"

 
mais il lit tout l'ensemble a suivre du genre :"mp3=sons/toto.mp3|sons/tata.mp3title=artiste - toto|artiste - tata" mais ce qui m'interresse c'est juste "sons/toto.mp3" , "sons/tata.mp3" etc. Et puis même si j'arrivais a extraire du caractere 5 au caratere 18, il faudrait toujours que mes sons fasse le même nbre de caracteres, choses quasi-infaisable.

n°1654902
sielfried
Posté le 08-12-2007 à 12:45:24  profilanswer
 

Code :
  1. $lines = file('cf.txt');
  2. $mp3s_line = $lines[0];
  3. preg_match('#mp3=(.*)#', $mp3s_line, $matches);
  4. $mp3s = explode('|', $matches[1]);


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1654915
dusty35
Posté le 08-12-2007 à 13:11:22  profilanswer
 

Ca ne fonctionne pas voici l'extrait de mon code:
 

Code :
  1. URL piste 01:<input type="text" size="20" name="menu[0][" value="<?php $lines = file('player
  2. /cf.txt');$mp3s_line = $lines[0];preg_match('#mp3=(.*)#', $mp3s_line, $matches);$mp3s = explode('|', $matches[1]); ?>">&nbsp;titre <input type="text" size="20" name="menu[1][" value="">


 
Voici le message d'erreur affiché dans le form:
 

Code :
  1. <br /><b>Warning</b>:  file(player/cf.txt) [<a href='function.file'>function.file</a>]: failed to open stream: No such file or directory in <b>/volume1/web/viewpage.php(26) : eval()'d code</b> on line <b>13</b><br />


 
J'ai essayé d'enlever "player" (le dossier où sont placés "cf.txt" & "clf.php" ) et de déplacer les fichiers direct sous la racine et là, plus de message d'erreur mais rien ne s'affiche dans le form.

n°1654927
sielfried
Posté le 08-12-2007 à 13:33:40  profilanswer
 

Ben ouais, faut qu'il trouve le fichier, relativement à celui du script en cours d'exécution (ou utiliser $_SERVER['DOCUMENT_ROOT'] pour des chemins absolus si tu n'utilises pas d'alias Apache).
 
Après, évidemment que rien ne s'affiche dans le form, je t'ai juste indiqué comment récupérer ta liste de mp3s. Suffit d'insérer ce qu'il faut dans les value=.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1654929
dusty35
Posté le 08-12-2007 à 13:39:30  profilanswer
 

Désolé je ne comprend pas, j'ai bien mis le code que tu m'a donné dans value=. Sans parler de trouver le fichier, que dois-je rajouter de plus dans mon code "value="<?php $lines = file('player
/cf.txt');$mp3s_line (...)" ?

n°1654952
sielfried
Posté le 08-12-2007 à 14:38:30  profilanswer
 

[:pingouino]  
 
Ouais, bon là il vaut mieux que tu revoies les bases du HTML et du PHP... [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1654959
dusty35
Posté le 08-12-2007 à 15:01:38  profilanswer
 

Heu bah... met moi sur la piste car, les bases, je pense que ca va a peu près mais je sais pas quoi chercher là... c'est vrai que ca fait que quelques semaines que je suis sur le html, je tatonne mais pour le php, c'est les 1er codes que je fais, donc...

n°1655029
sielfried
Posté le 08-12-2007 à 19:08:51  profilanswer
 

Essaie déjà de comprendre ce que fait le bout de code que j'ai posté. Tu récupères un tableau avec la liste des paths vers les mp3, donc dans $mp3s[0] tu as le premier (s'il avait été saisi), dans $mp3s[1] le second, etc.  
 
À toi de t'en servir où il faut.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1655031
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 08-12-2007 à 19:15:48  profilanswer
 

sielfried a écrit :

[:pingouino]  
 
Ouais, bon là il vaut mieux que tu revoies les bases du HTML et du PHP... [:spamafote]


+1
 
Tu t'attaques a un trop gros morceau ;)


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Code formulaire non-interprété [Résolu] & mémorisation valeurs

 

Sujets relatifs
Jeu Anagramme qui bloque - RESOLU[JS] supprimer des valeurs dans un select multiple
[Resolu] Activer la fonction mailDébutante besoin d'un code précis
Générateur de formulaire en PHP (et ajax ca serait mieux)[MySql] Trigger structure conditionnelle [Résolu]
[RESOLU]Enregistrement classe dans fichier[Résolu]Javascript, div, visibility et position
[Résolu] chmod() et les variables $_GET['var'][Résolu] un script ne respercte pas <form action="">
Plus de sujets relatifs à : Code formulaire non-interprété [Résolu] & mémorisation valeurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR