Page 1 sur 1

location.href=

Posté : 18 nov. 2007, 18:39
par Invité
Bonsoir à tous,

j'aimerais savoir s'il a l'équivalent de location.href='autrePage.php'; en php

car j'ai essayé
echo ("<script language='javascript'>location.href='envoi.php'</script>");

je suis bien rediriger mais les données du formulaire post ne suivent pas :(

Aidez-moi SVP

Posté : 18 nov. 2007, 18:51
par Vaedan

Code : Tout sélectionner

document.location = "ta-page.php";
De rien 8-)

Posté : 18 nov. 2007, 18:56
par Truc
La demande est incomplète !
Redirection en PHP se fait par header()
header("Location: page.php");
Mais les données formulaires ne vont pas suivre non plus :?

Posté : 18 nov. 2007, 19:25
par Invité
mon problème est que j'ai employé le script de cyrano permettant de vérifier que tous les champs sont remplis convenablement (nom, email, tel, etc) formulaire.php

une fois la vérification fait, lui dans son script, affiche les données du formulaire mais ce toujours dans la même page..

moi je veux les envoyer par mail et les afficher sur une page envoi.php

un peu complexe pour une débutante.. :(

Posté : 18 nov. 2007, 20:46
par Kaoteknik
Pour enregistrer les données d'un formulaire il faut tout d'abord lui indiquer une "méthode" d'envoi. Il y en a deux : GET ou POST. La méthode GET fait passer les variables par l'URL et la méthode POST les envoie de façon masquée (méthode la plus conseillée, surtout si des données contiennent des mots de passe et autres données privées).

Ensuite il faut que tes champs de formulaire soit nommés. Par exemple un champ "login" contiendra l'argument name="login". Lorsqu'un utilisateur remplira ce champ, le pseudo sera enregistré dans une variable de type $_GET['login'] ou $_POST['login'].

Ici il ne s'agit que de bases en HTML... Si tu ne connais pas au moins ces bases, mieux vaut dans un premier temps étudier le HTML, sinon tu risques de ne pas comprendre la suite...

Un formulaire valide peut ressembler à ceci :

Code : Tout sélectionner

<form method="post" action="envoi.php"> Login :<input type="text" name="login" /> Pass :<input type="password" name="pass" /> <input type="submit" name="envoi" value="Envoyer" /> </form>
Le fichier envoi.php doit ensuite récupérer les données envoyées par le formulaire via la méthode POST pour pouvoir les afficher :
<?php
// On récupère les données envoyées par le formulaire
$login = $_POST['login'];
$pass = $_POST['pass'];

// On affiche les données dans le navigateur
echo $login;
echo $pass; //logiquement on doit éviter d'afficher un mot de passe, mais là c'est pour l'exemple...
?>
Voilà, les bases... Reprendre un script tout fait (et certainement complexe s'il a été écrit par Cyrano, surtout quand on débute :P ) ne t'aidera pas à mieux comprendre. Il faut prendre le problème à la source.

Bon courage ! ;)

Posté : 18 nov. 2007, 21:57
par Truc

Posté : 19 nov. 2007, 09:57
par Invité
euh non pas vraiment, c'est bien ce script mais

bin moi en fait, je veux ouvrir une autre page avec les données entrées par l'utilisateur la nouvelle page s'ouvre avec la fontion javascript echo ("<script language='javascript'>location.href='envoi.php'</script>");
mais sans les données de l'utilisateur.

document.location = "envoi.php"; et document.location.href = "envoi.php";
Parse error: syntax error, unexpected '=' in /wwwsand/cyrano.php on line 142

donc comment remplacer le javascript <?php echo ("<script language='javascript'>location.href='envoi.php'</script>"); ?>

et mon formulaire est en method='POST' et je commence envoi.php avec
if(isset($_POST['envoi'])) { 
    $nom       = isset($_POST['nom'])       ? trim($_POST['nom'])      : ""; 
    $tel       = isset($_POST['tel'])       ? trim($_POST['tel'])      : ""; 
    $email     = isset($_POST['email'])     ? trim($_POST['email'])    : ""; 
    $societe   = isset($_POST['societe'])   ? trim($_POST['societe'])  : ""; 
    $adr       = isset($_POST['adr'])       ? trim($_POST['adr'])      : ""; 
    $rue       = isset($_POST['rue'])       ? trim($_POST['rue'])      : ""; 
    $cp        = isset($_POST['cp'])        ? trim($_POST['cp'])       : ""; 
    $hrs       = isset($_POST['hrs'])        ? trim($_POST['hrs'])      : ""; 
    $comm      = isset($_POST['comm'])      ? trim($_POST['comm'])     : ""; 
}
mais comme c'est ouvert en javascript il ne prend pas

merci de votre aide

Posté : 19 nov. 2007, 10:11
par Berzemus
"ouvert en javascript" ?

Tu nous fais un beau mélange la... y'a pas de "ouvrir en php" ou d'"ouvrir en javascript".

Un page s'ouvre en html. Alors, pour la petite histoire:

Php génère le html, il l'écrit selon qu'il à été programmé, selon les valeurs fournies. Il écrit le HTML, et il l'envoie a l'utilisateur, qui ne voit jamais rien en php (il ne voit que le résultat). Le javascript, c'est du code qui est écrit dans le html, que l'utilisateur reçoit, et qui va fonctionner chez l'utilisateur, une fois que celui-ci a réçu la page.

Si tu veux que javacript puisse lire les données traitées par php, va falloir les inscrire dans le page html, pourque JS puisse aller les lire (soit avec des input "hidden", soit à générer le code JS avec php).

Posté : 19 nov. 2007, 10:29
par Invité
mais je ne veux pas rediriger en javascript, je voudrais l'équivalent en php pour que les données suivent.

Posté : 19 nov. 2007, 10:36
par BioSs
Essai avec la METHOD GET
Puis rempli ton javascript de cette façon :
<?php 
echo ("<script language='javascript'>location.href='envoi.php?nom=".$_GET[nom]."&prenom=".$_GET[prenom]."&mail=".$_GET[mail]."'</script>"); 
?> 
Ensuite tu récupères tous les champs sur ta page en remplaçant $_POST[] par $_GET[]

Posté : 19 nov. 2007, 11:11
par zeus
Pour faire quelque chose de beaucoup plus propre que de transporter les données en GET ou en POST, tu peux utiliser les sessions ;)

Plus d'info sur les sessions

ouvrir une page en php à partir d'un formulaire

Posté : 16 déc. 2007, 20:37
par Loulou
[skip]
bin moi en fait, je veux ouvrir une autre page avec les données entrées par l'utilisateur la nouvelle page s'ouvre avec la fontion javascript echo ("<script language='javascript'> location.href='envoi.php'</script>"); mais sans les données de l'utilisateur.
1/ le formulaire doit être correctement nommé et paramétré
<form name="formu1" action="ma_page.php" method="post">
2/... mettre tous tes <input name="nom1" /> <input "nom2" /> etc...
3/ mettre un bouton submit
<input type="submit" onclick="mafonction_javascript();" value="Envoi" />
</form>
4/ terminer la fonction mafonction_javascript par :
document.formu1.submit();

that's it folks :)
--
JLoulou

Re: ouvrir une page en php à partir d'un formulaire

Posté : 16 déc. 2007, 20:41
par Invité
3/ mettre un bouton submit
<input type="submit" onclick="mafonction_javascript();" value="Envoi" />
</form>
j'ai oublié : il vaut mieux ajouter arrêt au retour de la fonction JS

<input type="submit" onclick="mafonction_javascript();return false;" value="Envoi" />

--
Jloulou

Posté : 17 déc. 2007, 09:28
par Invité
Bonjour,

Pourquoi ne pas utilier ceci :

Code : Tout sélectionner

document.monFormulaire.action = 'maPage.php'; document.monFormulaire.submit();
Bon courage