Formulaires redirigent tous vers la meme page

tibolos Messages postés 9 Statut Membre -  
Posotaz Messages postés 505 Statut Membre -
Bonjour,
Voila j'ai un petit problème.J'apprends le PHP, et je suis en train de faire un petit site pour m'entraîner
J'ai plusieurs formulaires sur différentes pages, qui sont sensés rediriger vers de endroits différents.

form action="livre_or.php" method="post"
form action="forum.php" method="post"
form method="post" action="mysite.php"

pourtant quand je clique sur valider, quelque soit la page sur laquelle je suis, je suis redirigé vers la page
du forum!!!

Aidez moi s'il vous plait!!!!

3 réponses

el plaga Messages postés 93 Statut Membre 4
 
essaie d'envoyer un bout de code c'est pas evident de d'aider dans ces conditions :-)
0
tibolos Messages postés 9 Statut Membre
 
Bonjour,merci d'avoir repondu

j'ai bien ouvert une session avant tout code html

voici des bouts de code de ma page traitant le forum:

<h2>Bienvenue sur le forum</h2>
<?php
mysql_connect("localhost","root","");
mysql_select_db("cours");
$reponse=mysql_query("SELECT id,message From tchatch ORDER BY rang DESC LIMIT 0,10");

while($donnees=mysql_fetch_array($reponse)){
?>
<p> <strong> <?php echo $donnees['id'] ;?> :</strong> <?php echo nl2br($donnees['message']);?></br></p>
<?php }
mysql_close();//on affiche les 10 derniers messages

if(isset($_SESSION['pseudonime'])&&isset($_SESSION['mot_de_passe'])){//si l'utilisateur est connecté on lui permet de poster un nv message
?>

<form action="forum.php" method="post">
<fieldset>
<legend>Nouveau Message</legend>
<textarea name="texte" id="texte" rows="10" cols="50"></textarea>
<input type="submit"/>
</fieldset>
</form>
<?php
}
else{
echo'<p>vous devez-être connecté pour pouvoir poster un message <a href="connexion.php">Se connecter</a></p>';
}
?>

sur la page traitant du livre d'or:

<h2>Bienvenue sur mon livre d'or</h2>
<p>Mon site vous a plu? Laissez moi un message!!</p>
<form action="livre_or.php" method="post" >
<fieldset>
<legend >Message:</legend>
<textarea name="message" rows="10" cols="50"></textarea>
<input type="submit"/>
</fieldset>
</form>
<p>
<?php
if(isset($_POST['message'])){//si un utilisateur a envoye un message
if(isset($_SESSION['pseudonime'])&& $_POST['message']!=NULL){//vérifie quel'utilisateur n'envoie pas un message vide
mysql_connect("localhost","root","");//se connecte à la base de donnees
mysql_select_db("cours");
$pseudo = $_SESSION['pseudonime'];//evite les probs de securite
$message=mysql_real_escape_string(htmlspecialchars($_POST['message']));
mysql_query("INSERT INTO livre_or(id,pseudo,message) VALUES('','$pseudo','$message')");//stocke dans la base de donnees le message envoyé par l'utilisateur
mysql_close();//se deconnecte de la base de donnees
}
elseif(!isset($_SESSION['pseudonime'])){
echo 'vous devez-être connecté pour pouvoir écrire';
}
}

ensuite, j'affiche tous les messages (20 par pages)

sur la page traitant la connexion:

<?php
if(!isset($_SESSION['pseudonime'])&& !isset($_SESSION['mot_de_passe'])&&!isset($_GET['oubli'])){
?>
<h1>Se Connecter</h1>
<form method="post" action="mysite.php">
<label for="pseudo">pseudo</label>
<input type="text" name="pseudo" id="pseudo"/><br/>
<label for="password">mot de passe</label>
<input type="text" name="password" id="password"/><br/>
<input type="submit" value="valider"/>
</form>
<p><a href="connexion.php?oubli=1">Mot de passe oublié??</a></p>
<?php
}

j'effectue egalement d'autres tests pour traiter le cas ou l'utilisateur est déjà connecté, ou s'il a oublié son
mot de passe

Desole pour la mise en page, cela fait un peu indigeste, mais c'est pas evident de mettre du code sur un forum.

Merci d'avance de votre aide.
0
Posotaz Messages postés 505 Statut Membre 225
 
Salut Tibolos,

C'est plutôt inhabituel, je n'ai jamais vu ça. Donc si je comprends bien ce sont 3 pages bien distinctes et quoi que tu fasses sur le formulaire d'identification par exemple, ça t'envoie sur la page "forum.php" ?

Je t'avoue que si je devais reproduire ce comportement oh combien étrange, le seul moyen que j'aurais d'y arriver serait :

- D'insérer un code JavaScript qui va modifier l'action du formulaire dès le chargement de la page.
- D'ajouter un fichier ".htaccess" quelque part dans l'arborescence du site afin de rediriger les URL vers le même endroit.

Donc vérifie déjà que ta page ne comprend aucune de ces deux propositions suspectes. De préférence regarde du côté de la source de la page générée et non celle du code source PHP... en espérant pouvoir t'aider à avancer sur ce mystère.
0