probleme passage variable page à une autre

probleme passage variable page à une autre - PHP - Programmation

Marsh Posté le 05-03-2006 à 12:02:39    

J'ai un petit probleme !! La solution est, j'en suis sur, tres simple, mais je crois que je tourne en rond depuis un moment, donc je me permet de vous demander.
 
J'ai une page avec un formulaire. Quand on clique sur envoyer, je veux que deux variables (login et mot_de_passe) passent sur l'autre page pour verifier que c'est bien le meme utilisateur et que les variable de mon formulaire (textarea et champs) sez transmettent elles aussi sur mon autre page.
code du formulaire :  

Citation :

<form action="" name="formulaire1"><input name="nomdufichier" type="text"/> </br>  
<textarea name="contenu" cols="20" rows="30">';
// On met comme valeur l'ancien contenu de la page  
while($ligne= fgets($fichier))
   {echo $ligne ;}
 
  echo '</textarea> ';
  echo '</form>';
   
  echo '<a href="confirm.php?login=*****&amp;mot_de_passe=*****" onClick="document.forms.formulaire1.submit()"><img src="img_design/valider.gif"></a> ';


 
code de la 2eme page :  

Citation :


<?
 
 
$login=($_GET['login']);
$mot_de_passe=($_GET['mot_de_passe']);  
 
if ($mot_de_passe == "****" && $login == "*****" ) // Si le mot de passe et le login sont bon
{
 
 
// quand on soumet la modification :
$contenu=($_POST['contenu']);
$nom=stripslashes($_POST["nomdufichier"]) ;
  $contenufichier=stripslashes($_POST["contenu"]) ;  
 
   $fichier=fopen($nom, 'w+') ; // On ouvre le fichier avec le nom spécifié
 
   fputs($fichier, $contenufichier); // On remplace l'ancien contenu  
 
   fclose($fichier) ; // On ferme le fichier
 
   echo 'Fichier modifié avec succès' ;  
}
 
else
{
echo ' vous nêtes pas autorisé à accéder à la page </br> <a href="index.php">&lt;&lt;retour Accueil </a>';
}
?>


 
voilà, j'espere avoir été clair (ça c'est moins sûr !! lol)
merci d'avance :hello:


Message édité par kl14582 le 05-03-2006 à 12:08:23
Reply

Marsh Posté le 05-03-2006 à 12:02:39   

Reply

Marsh Posté le 05-03-2006 à 13:36:04    

bon alors on va commencer par le début
 
déjà ça  
 

Citation :


echo '<a href="confirm.php?login=*****&amp;mot_de_passe=*****" onClick="document.forms.formulaire1.submit()"><img src="img_design/valider.gif"></a> ';


 
tu le vires c'est trop laid, pour 2 raisons, déjà le lien qui se valide par JS. Désactive le JS et ton forumlaire marche plus.
 
Ensuite la variable login et pass que tu passes dans l'url en GET ????
Un formulaire ca se passe en POST
 

Citation :


<form action="confirm.php" name="formulaire1" methoe="POST">
<input name="pseudo" type="text" value="ton pseudo"/>
<input name="pass" type="password" value="ton pass"/>
<input type="image" src="img_design/valider.gif" />


 
ensuite sur ta page confirm tu récuperes
 
$_POST['pseudo'] et $_POST['pass']
 
corrige déjà ca on verra apres ++
 
 
 
 
 


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:02:57    

Pour le javascript, c'est que j'ai essayé plein de chose pour le bouton submit, mais ça na pas marché. Je sais bien qu'il faut eviter quand on peut faire autrement.
 
J'ai fait ce que tu m'as dit, mais ce que je comprends pas, c'est qu'en cliquant sur envoyer, ça ne m'affiche pas la page "confirm" mais la meme (là ou il y a le formulaire) !! soit je suis tres fatigué car si ca se trouve, j'ai fait une erreur bete de html !! (bouhhh la honteee !! lol)
 
voici le code du formulaire :  

Citation :

$fichier=fopen($choix, 'a+') ;
echo '<form action="456admin.php" name="formulaire1"><input name="nomdufichier" type="text" value="'.$choix.'"/> </br> <textarea name="contenu" cols="20" rows="30">';
// On met comme valeur l'ancien contenu de la page  
while($ligne= fgets($fichier))
   {echo $ligne ;}
 
  echo '</textarea> <input name="login" type="text" value="admin"/>  
<input name="mot_de_passe" type="password" value="azerty"/>  
';
  echo'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="reset" name="Annuler"/></td></tr> ';
 
   
  echo '<input type="submit" name="Envoyer"/>';
   
  echo '</form>';


 
et j'ai corigé les GET en POST aussi, pas besoin de remontrer le code pour ça je pense.
Donc si quelqu'un peut me dire ou est l'erreur ou la solution, ca serait tres sympa. ;)

Reply

Marsh Posté le 05-03-2006 à 14:06:51    

pourquoi une ouverture en a+ si c'est de la lecture le mode r est plus approprié.
 
je t'ai filé tout le code et tu le fais pas
 
<form action="456admin.php" name="formulaire1" method="POST">
 
et 456admin.php c'est ta page en cours ou ta page suivante ?


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:14:02    

Citation :


pourquoi une ouverture en a+ si c'est de la lecture le mode r est plus approprié.  
 
je t'ai filé tout le code et tu le fais pas  
 
<form action="456admin.php" name="formulaire1" method="POST">  
 
et 456admin.php c'est ta page en cours ou ta page suivante ?


 
ah oui, excuse moi, j'ai oublié le method, voilà pourquoi ca ne marchait pas !! :jap:  
a+ car je lis le fichier texte dans un texte area et apres il y a la possibilité de modifier ce fichier.
456admin, c'est la page suivante, qui va effectuer la modification du fichier.
J'ai encore une erreur, cette fois sur la page 456admin. Je vais regardé ça de plus pres et je vous appelle au secours si je trouve pas !!

Reply

Marsh Posté le 05-03-2006 à 14:16:47    

oui mais ta modification du fichier ne va pas se faire là.
 
déjà fait ton fopen juste quand tu en as besoin. ca sert à rien de le faire avant à part utiliser des ressources systèmes.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:27:54    

oui c'est vrai, je vais remplacé le a par r !!
le fopen il sert bien à ouvrir mon fichier pour le lire !! non ?
sinon, merci de ton aide, ça fonctionne maintenant, j'avais deux erreurs de petits débutants, j'allucine !!, j'ai réussit à faire le plus dur par moi même (par rapport à mon niveau en php) et j'ai fais des erreurs de newbie !! ça doit être la fatigue depuis ce matin.

Reply

Marsh Posté le 05-03-2006 à 14:35:25    

depuis ce matin et t'es déjà fatigué, mdrrr. toi t'es pas un vrai
 
depuis hier matin, j'y suis moi :)
 
pour valider ton formulaire tu peux utiliser, <input type="image">


Message édité par newneo2001 le 05-03-2006 à 14:36:22

---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:40:00    

Citation :

depuis ce matin et t'es déjà fatigué, mdrrr. toi t'es pas un vrai  
 
depuis hier matin, j'y suis moi :)  
 
pour valider ton formulaire tu peux utiliser, <input type="image">


 
Moi j'y suis depuis trois semaines pour dire vrai mais entre chaque jours, je dors !! donc oui j'ai commencé ce matin à 9h00 quand meme, faut pas abuser, on est dimanche ! :)  
OK pour le formulaire, on peut mettre une image, mais finallement, je vais opter par un vulgaire bouton classique, ça fait toujours une image en moins à charger ! ;)

Reply

Marsh Posté le 05-03-2006 à 14:42:58    

pour éviter les images, tu peux personnaliser ton bouton avec un CSS et tu peux faire qqch de sympa.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:42:58   

Reply

Marsh Posté le 05-03-2006 à 14:47:07    

oai c'est pas bête. J'y penserais mais je crois que le temps va me manquer !! sniff ça passe trop vite !!
merci beaucoup de ton aide, je peux mettre résolu à mon post !! ouaahhh la classe ! :)

Reply

Marsh Posté le 05-03-2006 à 14:55:21    

ralala, j'ai encore une petite question, j'ai essayé de mettre ça sur une page, et j'ai une erreur mais ça marche quand même je crois, c'est bizarre, :  

Citation :

  $mot_de_passe = $_POST['mot_de_passe'] || $_GET['mot_de_passe'];
   $login = $_POST['login'] || $_GET['mot_de_passe'];


 
Il y a une erreur, ou on a pas le droit d'ecrire cela peut être ? en fait, j'ai besoin que cette page puisse recuperer les variable login et mot de passe, que ce soit par une url (d'ou la metode GET) ou par formulaire (POST).

Reply

Marsh Posté le 05-03-2006 à 14:56:41    

non ca tu peux pas écrire
 
c'est quoi que tu veux fire là
 
|| <-- ca c'est le symbole pour dire ou pendant un test. Donc tu peux pas initialiser une variable avec ça


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 15:02:15    

bah en fait, comme je l'es dit, j'ai une page qui, est protégée par une condition de login et de mot de passe. Précédemment, l'utilisateur s'est loggué.Puis il va être amené à naviguer sur plusieurs pages et entre chacune d'elle, je fais passer les variables login et motdepasse car elles sont toutes protégée. Et pour cette page, on peut être amené a venir sur cette page par un formulaire (les variables se trouvent dans des champ de texte, donc j'utilise la methode POST pour recueillir les variables) ou on peut arrivé sur la page par un lien php ou dedans je mets les variables (donc j'utilise la methode GET pour recuperer les variables)
 

Reply

Marsh Posté le 05-03-2006 à 15:08:44    

ouais alros ca c'est pas comme ca qu'il faut faire.
 
qd il se loggue tu cré une session
$_SESSION['log'] = 'yes'; par ex
 
et ensuite tu tests sur ta page si ta session est initialisée ou non.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 06-03-2006 à 15:11:06    

kl14582 a écrit :

Puis il va être amené à naviguer sur plusieurs pages et entre chacune d'elle, je fais passer les variables login et motdepasse car elles sont toutes protégée.

Même protégé, il n'y a aucune raison de les faire transiter sans arrêt. A chaque envoie de ces infos là transitent à travers internet, tu augmentes le risque que ces données soient interceptés. Ensuite, pour la pluspart des systémes d'encodage et d'enchryptage, il existe des dictionaires permettant de retrouver le mot en clair à partir de la version cripté.
 
Il est préférable d'utiliser les sessions de php et d'inscrire dedans une valeur permettant de savoir si le visiteur est loggué et sous quelle identité.
Ca sera (beaucoup?) plus sécurisé que ce que tu fais toi pour le moment.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed