Tom's Guide > Forum > Programmation > Php --> formulair | code sur deux page

Php --> formulair | code sur deux page

Forum Programmation : Php --> formulair | code sur deux page

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour a tous

alors voila j'ai un formulair et quand je clic sur envoyer je retombe sur la meme page

si je modifie mon from et que je mais une autre page les donner du formulaire ne sont pas tran smie

si je mais tout le code php sur l'autre page -- idem

alors je voudrai savoir ou doige metre le code php ( ou quel parti ) affin que lorsque je clic sur ok mais donner soit transmie a bdd et que jarrive sur une autre page


( comme sur le idn quand vou cliquer valider , une page saffiche avec une redirection )

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

bonjour,
sans code, ca va etre vachement difficile de t'aider...

Répondre à coca25

Bon voila le code que j'utilise en se moment ( donc il envois les donner mais je retombe sur la même page ! )

alors le code du formulaire :

<form method="post" action="Merci_news.php">
Pseudo :<br />
<input name="pseudo" />
<br />
Message :<br />
<textarea name="message" rows="10" cols="65" ></textarea>
<br />
<input name="submit" type="submit" value="Envoyer" />
</form>



et le code php :

<?php
$age = 1 ; // 1 pour site sur serveur .

if ($age ==1)
{
mysql_connect("localhost", "******", "******" );
mysql_select_db("andr-481" );

}
else
{
mysql_connect("localhost", "root", "" );
mysql_select_db("andr-481" );
}

if (isset($_POST['pseudo']) AND isset($_POST['message']))
{

$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
$message=$_POST['message'];
$message = nl2br($message);

mysql_query("INSERT INTO news VALUES('', '" . $Speudo . "', '" . $Message . "')" );
}

mysql_close();
?>

Répondre à andrelec1

si j'ai bien compris, tu veux depuis page1 ou tu as le formulaire valider vers page2 pour savegarder les données dans une bd puis revenir sur page1, c'est ca?

si oui:
le code du formulaire, tu le mets dans une page "page1.html" par exemple (ou .php),
le php dans la page "Merci_news.php" et à la fin du code tu rajoutes:

Code :
  1. header("Location: http://tonsite/page1.html" );

Répondre à coca25

donc si j'ai compriu sa me donne :

dans la page : news.html

...
<form method="post" action="Merci_news.php">
Pseudo :<br />
<input name="pseudo" />
<br />
Message :<br />
<textarea name="message" rows="10" cols="65" ></textarea>
<br />
<input name="submit" type="submit" value="Envoyer" />
</form>
...



et dans la page : Merci_news.php

...
<?php
$age = 1 ; // 1 pour site sur serveur .

if ($age ==1)
{
mysql_connect("localhost", "******", "******" );
mysql_select_db("andr-481" );

}
else
{
mysql_connect("localhost", "root", "" );
mysql_select_db("andr-481" );
}

if (isset($_POST['pseudo']) AND isset($_POST['message']))
{

$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
$message=$_POST['message'];
$message = nl2br($message);

mysql_query("INSERT INTO news VALUES('', '" . $Speudo . "', '" . $Message . "')" );
}

header("Location: http://tonsite/page1.html" );

mysql_close();
?>
...



et une question : a la place de

"Location: http://tonsite/page1.html"


je peut pas metre juste

"Location: news.html"


Message édité par andrelec1 le 24-04-2007 à 20:06:54
Répondre à andrelec1

non tu dois donner une url aboslue, mais tu peux faire:

Code :
  1. /* Redirige vers une page différente du dossier courant */
  2. $host  = $_SERVER['HTTP_HOST'];
  3. $uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
  4. $extra = 'news.html';
  5. header("Location: http://$host$uri/$extra" );


pris depuis http://php.benscom.com/manual/fr/function.header.php

Répondre à coca25

Je n'agrée pas avec ton non :
Sur mon apache PHP5, j'ai des
header ("Location: index.php" );
qui marchent très bien.

par contre, je conseille un "exit;" après :
<?php
header ("Location: index.php" );
exit;
?>

Je ne sais plus où j'ai lu ça, mais au moins, si tu fais une bourde, ça affiche aps la suite !

Répondre à mansuetus

depuis la doc php

Citation :


Note: HTTP/1.1 demande une URI absolue comme argument de » Location:, y compris le protocole, hôte et chemin absolu. Mais certains navigateurs acceptent les URI relatives. Vous pouvez généralement utiliser les variables globales $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] et dirname() pour construire vous-même une URI absolue :

Répondre à coca25

j' teste tou sa et je vous dit !

Répondre à andrelec1

Bon après test ya un probleme ,
les entree se cree mais ne contien aucun données !?!?!?!?!?

Répondre à andrelec1

andrelec1 a écrit :

Bon après test ya un probleme ,
les entrées se créent mais ne contiennent aucune donnée !?!?!?!?!?


mine de rien, c'est plus facile à lire :p

et avant la modification, les données étaient bien enregistrées?
commente le "header" et mets des "echo" pour essayer de voir ce qui se passe.


Message édité par coca25 le 26-04-2007 à 17:17:59
Répondre à coca25

??????????????
en plus sa fais pas se que je veux ...

moi j'ai mon formulaire
quand je vais dessus je le remplie
je le valide !
et je retombe sur la même page ( je voix pas celle ou ya le code php )
ensuite je vais dans sur ma page ou s'affiche les donner
et la je vois que le champs Pseudo et vide ainsi que celui de Message
alors je vais vois sur ma bdd et idem

Répondre à andrelec1

explique mieux ton problème, n'oublie pas que je suis pas à ta place et, je ne peux pas deviner ce que tu veux?
je pensais que le but était justement de ne pas voir celle avec le php...
et tu n'as pas répondu à la question.
avant la modif, ca marchait??

Répondre à coca25

Oui avant la modif sa marcher
ensuite j'ai bien enregistrer , j'ai uploader sur mon ftp
et quand je remplis le formulaire que je le valide sa par sur ma bdd mais les variable sont vides !!!

en faite se que je voulais c'est quand on valide on arrive sur un page ou ya ecrie Merci de votre poste et hop âpre dessus je mais un redirection vers la page d'acceuille

Répondre à andrelec1

ben c'est exactement ce que ca fait... (excépté le "merci" :)), mais tu peux changer le header par un truc du genre:

Code :
  1. echo "merci<br/>";
  2. echo '<a href="news.html">Retour</a';



pour les variables vide, étant donné que tu n'as pas changé le code, je vois pas ce qui peut mal se passer...

Répondre à coca25

Mais comment le changer ???

ensuite je vais te redonner le code php entier pour que tu regarde si tu trouve une erreur

Répondre à andrelec1
Tom's Guide > Forum > Programmation > Php --> formulair | code sur deux page
Aller à :

Il y a 1610 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens