[PHP]Pb formulaire GET

Résolu/Fermé
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005 - 1 juil. 2005 à 15:03
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 20 juin 2007 à 19:29
Bonjour,
Je m'enerve sur une page php depuis 1 bon moment sans trouver ce qui ne va pas...et c'est pourquoi je sollicite de l'aide!
En fait j'ai une page qui liste des fichiers, leur taille, date et commentaire(ce dernier est contenu dans un fichier texte)!
Quand on veut modifier le commentaire du fichier, on clic et çà envoit en methode GET plein d'infos a une page edit_comments.php!Jusque là pas de problème, mes variables sont bien recup et c'est les bonnes valeurs!Mais quand sur cette page je modifie le commentaire, il est renvoye a la premiere page inchangee (le commentaire n'a pas ete modifié)alors que dans l'url je voit bien qu'il a enregistré les modifications!
Qu'est ce qui ne va pas?
Si quelqu'un a une idée...?

Mon bout de code: page edit_comments.php
if (isset($_GET['chemin']))
{$chemin=$_GET['chemin'];echo $chemin;}
if (isset($_GET['fichier']))
{$fichier=$_GET['fichier'];echo $fichier;}
if (isset($_GET['desc_file']))
{$desc_file=$_GET['desc_file'];echo $desc_file;}
if (isset($_GET['page_origin']))
{$page_origin=$_GET['page_origin'];echo $page_origin;}

echo "<table border='0' cellpadding='8' cellspacing='0'>";
echo "<tr class='paragraph'><td class='default_td'>";
echo "Enter the new description for the file <em>$fichier</em>:";
echo "<form method='get' action='$page_origin'>";
echo "<input type='hidden' name='chemin' value='$chemin'>";
echo "<input type='hidden' name='descFile' value='$desc_file'>";
$res=affiche_description($chemin,$fichier,$desc_file);

if (isset($_GET['comment']) && ($_GET['comment'] !==""))
{
$desc=$_GET['comment'];
		
		?>
		<p><INPUT type='text' name='desc' size='50' value=<?php echo "'".$desc."'" ;?>></p>	
		<?php
		$f_decrit=$chemin.$fichier;
		suppr_ligne_fichier($f_decrit,$desc,$desc_file);
		insertion_ligne_fichier($f_decrit,$desc,$desc_file);
}
		echo'<p><input class="button" type="submit" value="Change" /></p>
		</form></td></tr></table>';


Merci de vos idées!
A voir également:

18 réponses

Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
1 juil. 2005 à 15:21
Salut,

Pourquoi est-ce que tu coupe ton code php au milieu de ta page ?

(?><p><INPUT type='text' name='desc' ... )

T'as essayé en continuant avec un echo pour pour ton input ?

@+
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 15:28
Salut,

Qu'est ce que tu veux dire par continuer avec 1 echo?

J'ai fait des echo histoire de voir ce qui est passé en parametre mais comme je n'ai rien a afficher sur cette page!

Effectivement je n'ai pas a couper mon code php au milieu mais je ne pense pas que ce soit le probleme?Tu crois que c çà?
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
1 juil. 2005 à 15:30
Sincèrement, je crois pas, mais ça coute rien d'essayer, et j'ai vu des trucs vraiment bizzare des fois ... On sais jamais... (toujours sans trop de convictions)

Sinon tu peux peut-être voir dans tes fonctions, comme l'a dis Timon...
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
1 juil. 2005 à 15:32
Ok , je regarde tout çà de suite!
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
1 juil. 2005 à 16:26
Ben en fait j'ai testé la fonction de suppression, elle ne marche pas:(elle ne supprime rien,et qd je met" if ($ligne==$val){ "au lieu de "if ($ligne!=$val){ ", alors elle supprime tout donc le probleme est dans le if, surement avec la comparaison):

function suppr_ligne_fichier($f_decrit,$desc,$desc_file){

$val="$f_decrit"."|"."$desc";

$fp = fopen($desc_file,"r"); // Ouverture du fichier en lecture, au debut du fichier
$fp_temp = fopen("temp.txt","w+"); // Ouverture du fichier temporaire

while (!feof($fp)) { // Parcours du fichier
$ligne = fgets($fp); // On récupère  la ligne
if ($ligne!=$val){ //si la valeur de la ligne est differente de la val recherchee(a supprimer) on insere ds le fichier temp
fwrite($fp_temp,$ligne);
} 
}

fclose($fp); // Fermeture du fichier
fclose($fp_temp);

copy("temp.txt",$desc_file); // On recopie le fichier temporaire obtenu
unlink("temp.txt"); // On l'efface


}


Le but de cette fonction est de supprimer une ligne precise du fichier!Puis comme il s'agit en réalité d'une modification du commentaire,ensuite j'appelle une fonction d'insertion, elle marche celle la mais elle ne prend pas la valeur modifiee du commentaire, elle garde l'ancienne!Mais c'est pas le meme probleme!
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 15:38
Non ben j'ai mis :
echo '<p><input type="text" name="desc" size="50" value="'.$desc.'">';echo"</p>";

à la place de :
?>
		<p><INPUT type='text' name='desc' size='50' value=<?php //echo "'".$desc."'" ;?>></p>	
		<?php

et çà change rien!
Dc je vais voir les fonctions!
Apres j reviens sur le forum!(A moins que vous ne voyez d'autres trucs qui ne vont pas entre temps)

Merci!
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 15:22
Voui tisuisse a raison, et comme ila repondu avant moi j'edite mon post pour enlever ma reponse qui etait a coté de la plaque...
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 15:32
Salut,
Ben en fait je me demande si tu n'avais pas raison !

Car en fait mon affichage sur la premiere page vient directement du fichier texte dc peut etre !
Je vais voir çà de suite!
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 16:35
ton fichier contient
fichier1|desc1
fichier2|desc2
fichier3|desc3

c'est ca ?
au fait, il ya la fonction rename() ; qui peut aller plus vite sur la fin, mais c un detail
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 16:39
oui en fait :
chemin/fichier|desc

et $f_decrit contient chemin/fichier

ok pour rename!
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 16:41
a mon avis il faut juste que tu teste $ligne contient $f_decrit, parce ke la desc sera forcement differente, non ?
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 16:43
J'ai testé, c'est identique, même pas un espace ou alors j l'ai pas vu!
Je pensais plutôt à un problème de syntaxe pour la comparaison ou alors la boucle est pourrie!

Oui en fait je crois que j'ai pas bien compris ce que tu m'a dit!
oui la description risque d'etre differente selon le fichier et il n'y a qu'un commentaire par fichier dc oui je pourrais ne tester que la partie chemin+nom fichier mais c'etait pour faire simple sans utiliser explode!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 16:47
pitetre que quand tu lis une ligne, ya \n a la fin ?
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 16:48
ouais bonne idee, j vais essayer avec trim() !
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005 > luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:00
OK nickel merci!trim() çà marche , il supprime la ligne!
Maintenant j'ai un probleme avec la fonction d'ajout je pense(apres avoir mis trim() quand meme!Je regarde et je reviens!

Merci
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:06
Pas sur que çà marche en fait!Quand j'utilise le code de la fonction dans un autre fichier a part pour tester, çà marche mais pas dans mon vrai!
Je comprend rien!
Faut que je fasse chauffer la cervelle là!
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:08
chauffe,chauffe, mais vas pas te griller un neurone. les miens sont a plat aujourdhui, a pri froid a un concert de suzanne Véga... lol... atchooum
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:12
Dur dur pour toi, moij'ai pris froid hier soir :grosse biture!En fait y'a des chances que je remette le grillage de neurone a lundi, si t'es toujours ds le coin!

Merci bien dans tous les cas!

++
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:14
vi mai ca sera ma derniere semaine
bon Weekend
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:16
toi aussi
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:23
Re moi,
en fait je comprend un peu mieux ce qui se passe:
la supprression marche tres bien !( c'est juste que comme je la testait dans le fichier d'origine ou l'insertion marche mal, çà me reinserait lameme chose)!

Dc en fait le probleme c'est que la suppression et l'insertion ont lieu avant que le tout soit posté donc il n'y a pas modification!

Mais je ne voit pas comment faire l'insertion apres que mon formu GET ai été envoyé!?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:28
comme tu a l'air de tou faire ds la mm page c juste un pbd'ordre non ? par exemple tu affiche la description avant de la changer...
j'ai bon la ?
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:30
Oui tu as bon, mais:
Regarde le code de ma page tout en haut:
suppr_ligne_fichier($f_decrit,$desc,$desc_file);
insertion_ligne_fichier($f_decrit,$desc,$desc_file);
}
		echo'<p><input class="button" type="submit" value="Change" /></p>
		</form></td></tr></table>';


comment je peux faire l'insertion (insertion_ligne_fichier() apres le</ form>?

Je peux pas faire çà, je me trompe?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:33
tu peux mettre ton script php de traitement(effacement remplacement) n'importe ou, avant apres ton form si ca te demange, mais il faut juste que tu verifie que le traitement doit etre fait = ke le form a ete soumis.
si tu raffichedirectement dans ta page le resultat (fichier modifié), il faut bien sur le faire apres le traitement.
ou pitetre apa compris ton pb?
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:42
j'explicite pour etre sur qu'on se comprend:

la premiere page ou il y a les fichiers listés avec leur commentaires: bidule_dpt.php
la seconde (cf code tout en haut),on y accede en cliquant sur une icone (sur la 1ere page)en face du fichier ou on veut editer/modif le commenatire!
Du coup toutes les variables necessaires sont postees en GET ds l'url!:cette page c'est edit_comment.php
Dans cette secponde page, je reaffiche la valeur du commentaire(le vieux) et on peut ecrire dessus !
Quand on ecrit dessus en theorie j'appelle les fonctions suppression et insertion pour aller bidouiller le fichier texte ou le commentaire se trouve!
ensuite je renvoi çà a la premiere page:bidule_dpt.php en GET (dans l'url , ou la je vois bien la valeur modifiee du commenatire mais sur la page bidule_dpt.php non)!

Je ne sais pas si je suis tres claire!?

Mais en fait p etre que la ou çà va pas c'est que sur la 1ere page:bidule_dpt.php, je me set juste du fuichier texte pour afficher le commentaire dc en fait je ne sais pas pourquoi je lui renvoit en GET, bref je suis embrouillée dc si je ne suis pas claire c'est normal je pense!
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:45
je crois que tu ne fais pas le traitement dans la bonne page ...?
Si quand tu change le commentaire, tu soumet ton form et ca te retourne a la liste de fichier, c'est dans cette page kil faut remplacer la ligne
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:48
oui mais si je fais çà a l'affichage le commentaire ne sera toujours pas modif!Moi je pensais faire:

1ere page:le vieyux commentaire
2eme:le vieux que tu modifie direct!il enregistre le nouveau
3eme:affichage du nouveau

Non?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:51
si, il sera modif si tu commence par ca. fait tes modifs des ouverture de la page, ensuite tu affiches.
1. vieille page vieux commentaires
2.form de changements de commentaires
3.1 reception du form =MAJ des commentaires
3.2 affichage toubo touneuf
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 17:56
mais le 1 et le 2 c'est sur 2 pages distinctes , on est ok?et 1et 3 c'est les memes pages?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 17:59
on est ok. 1et 3 sont les mm, sauf ke dans 3 les variables $_GET sont remplies de bonnes infos sucrées a digérer. donc la page1 (ou 3) est comme ca:
si isset($_GET['nouvo_comm']), alors je fais mon pti bazar.
dans tous les cas, apres ce test, j'affiche tout
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 18:01
ok!
Donc pour toi c'est pas genant que je remplisse les valeurs affichees des commentaires depuis 1 fichier texte?Et dans ce cas si il y a qqchose ds get il fait insertion et suppression puis affichage du fichier texte qui a ete modif et sinon il fait affichage ficher texte?
0
Timon1102 Messages postés 354 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
1 juil. 2005 à 18:03
ca ma lair bon. cette fois par contre c un vrai ++, je suis en WE now !
0
luckyluke44100 Messages postés 24 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 1 juillet 2005
1 juil. 2005 à 18:07
ok merci bcp
++
et bon we
0
Bonjour a tous je suis pas un informé du domaine et j'ai un probleme. j'ai un formulaire qui doit recueillir les inforations à inserer dans ma base de donnée. Quand je fait la saisi des infos sur ma machine(utilisée comme serveur) et que je valide; c'est plutot le telechargement de la page php(pour l'insertion) qui se lance. Par contre sur une machine connectée en réseau l'insertion ce fait sans probleme.
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 332
20 juin 2007 à 19:29
merci de ne pas polluer des discussions.

si tu as une question : tu crées ton propre message !

pour ta réponse : as tu un serveur avec php sur ta machine ?
0