Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 29-04-2005 04:16:07

Ad
Membre
Lieu: Beijing - China
Date d'inscription: 26-04-2005
Messages: 14

Redirection dans page PHP

Bonjour,

Après l'envoi d'un formulaire, on redirige vers une page php qui entre les données dans la BDD.

Après traitement, il faudrait revenir à la page d'acceuil.

Question: Quel est la ligne de code qui permet de faire cette redirection?

Dans l'attente d'un réponse...

Hors ligne

 

#2 29-04-2005 11:38:36

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

hello,
tu peux utiliser la fonction header();

Code:

header('location: ton-url');

attention, un header doit etre placé avant tout echo, ou code envoyé à la page (ton <?php doit etre en tout début de page, et il ne doit y avoir aucun echo avant)

Hors ligne

 

#3 30-04-2005 04:49:58

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Redirection dans page PHP

Oais les header c'est le mieux. mais si tu as déjà renvoyé du code, tu vas avoir une erreur 'Headers have arleady been sent...' dans ce cas là le + simple est demander à php de sortir un petit coup de javascript :

Code:

echo "<script language='javascript'>";
echo "document.location.href = '".$RedirectURL."?msg=Save Successfull.';";
echo "</script>";

Hors ligne

 

#4 30-04-2005 04:55:17

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

à savoir que ca fonctionnera chez toi, mais ne sera pas suivi par 99% des robots (le 1% restant, je le cherche encore)
donc, ta seconde page ne sera pas indéxée dans les moteurs de recherche

Hors ligne

 

#5 30-04-2005 05:11:25

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Redirection dans page PHP

Ben en même temps, si ca deuxième page ne fait qu'enregistrer les données et rediriger vers la page d'accueil, c'est pas très grave vu que l'accueil est référencé... Ca influe sur le pageRank c tout.. non ?

Enfin moi c pas le genre de trucs qui me dérange car je fais principalement des intranets & extranets. Pas besoin de référencement ;o)

Hors ligne

 

#6 30-04-2005 05:23:27

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

ouais, ca dépends de l'utilité de sa page.
mais, meme niveau backlinks, à la suite d'un formulaire, ca importe peu (de plus, le robot ne suit pas les formulaires)

Hors ligne

 

#7 07-05-2005 23:39:24

Ad
Membre
Lieu: Beijing - China
Date d'inscription: 26-04-2005
Messages: 14

Re: Redirection dans page PHP

Comme solution, j'ai juste ajouté un meta refresh en début de page sachant que le traitement des données prend moins d'une seconde.

Pas très rigoureux mais ca marche bien donc tant mieux.

Code:

<html>
  <head>
    <meta http-equiv="refresh" content="1; url=Quotation.php">
  </head>

<body>

merci pour vos réponses

Hors ligne

 

#8 08-05-2005 05:26:54

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

Pas très rigoureux mais ca marche bien donc tant mieux.

jusqu'au jour ou ton hebergeur a une mauvaise bande passante pour une raison x ou y, et la, la page sera rechargée avant le chargement complet :mrgreen:

Hors ligne

 

#9 08-05-2005 22:33:59

Ad
Membre
Lieu: Beijing - China
Date d'inscription: 26-04-2005
Messages: 14

Re: Redirection dans page PHP

pas faux,

alors comment insérer les réponses précédentes dans mon code -

ie,

1) qu'est ce que ce header? où le mettre?
2) idem pour la fonction javascript?

merci pour les future réponses

Hors ligne

 

#10 09-05-2005 02:24:37

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

alors,

1 - le header
c'est les informations qui sont envoyées au navigateur. elles contiennent les types de données qu'il recevra dans la page...
l'avantage : tous les robots suivront la redirection
le désavantage : la redirection doit etre envoyée avant toute donnée dans la page

Code:

header('location: url');

2 - le javascript
c'est une redirection comme un meta, excepté que c'est en javascript
l'avantage : peut etre placé n'importe ou dans la page
le désavantage pas suivi par les moteurs, possibilité de probleme en cas de vitesse lente

Hors ligne

 

#11 09-05-2005 05:07:26

Ad
Membre
Lieu: Beijing - China
Date d'inscription: 26-04-2005
Messages: 14

Re: Redirection dans page PHP

Je m'excuse de ne pas m'être très bien exprimé dans la dernière réponse,

mais ma réelle question était:
Comment insérer vos réponses dans mon code actuel, en particulier l'appel du script?

Code:

<html>
  <head>
    <meta http-equiv="refresh" content="1; url=Workforce.php">
  </head>

<body>

<?php

// catch the data from the "formulaire"
$FamilyName     = $_POST['familyname']     ;
$FirstName     = $_POST['firstname']                 ;
//etc...
$FamilyName = strtoupper($FamilyName);
$FirstName    = ucfirst($FirstName)    ;
//etc...

// insertion into the table
$sqlserver='localhost';
$login='root';
//$password='';
$base='bdd-xxxxxxx;

mysql_connect($sqlserver,$login) or die('Connexion impossible');
mysql_select_db($base) or die('Sélection de la base impossible');

$requete="INSERT INTO workforce values(0,'$FamilyName',...) ";
mysql_query($requete);
?>

</body>
</html>

Hors ligne

 

#12 09-05-2005 11:07:49

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Redirection dans page PHP

bah, avant le <html>
tu mets ton code d'insertion
suivi du header()
et ca devrait fonctionner

Hors ligne

 

#13 11-05-2005 07:10:01

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 566
Site web

Re: Redirection dans page PHP

Salut,

en fait, tu n'a même pas besoin de mettre les balises html : il te suffit de mettre ton code php pour insérer les données puis de faire un header, genre :

Code:

<?
// code pour insérer les données
header('location: url');
?>

ça devrait suffire comme page php

Hors ligne

 

#14 18-05-2005 06:53:04

Mrseth
Membre
Date d'inscription: 18-05-2005
Messages: 35
Site web

Re: Redirection dans page PHP

Attention les yeux MDR.  big_smile

J'ai souvent eu les mêmes problêmes et grâce au PHP (mise a part dans des cas extremes) adieu META et autres Javascript de redirection.  tongue

Je m'explique.  :shock:

:shock:  Principe :

Une fois un formulaire rempli, on veut que celui ci soit traiter et que en resultat la page d'acceuil s'affiche.

:shock:  Réponse :

Code:

######  FORM.PHP ou FORM.HTML ######

<form method=post action=acceuil.php>

<input .......... // ton formulaire en entier à poster

<input type=hidden name='redirection' value='traitement'>

</form>

Code:

##### ACCEUIL.PHP ######

<?php

// on recupere la valeur envpoyé par ton formulaire


$redirection = $_POST['redirection']; 

// ensuite si on va envoyé le formulaire avec la bonne valeur (traitement)
// ton script qui traite le formulaire se met en route et la page d'acceuil 
// s'affiche.
// Sinon, ta page d'acceuil s'affiche et ton script ne fait rien


if ($redirection == "traitement") {

// ici tu met ton script qui traite le formulaire

}

?>

<html><body> ..... <?php  .....    //  le contenu de ta page d'acceuil

J'espère t'avoir été utile . SETH

Hors ligne

 

#15 18-05-2005 07:50:34

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: Redirection dans page PHP

C'est bien et tout a fait vrai mais pas viable pour les sites à grosse structure ou tu veux que tous les formuylaires reviennent vers la page d'accueil.
Tu imagines la tete du code de la page d'accueil ? smile

Le mieux pour moi est réellement d'utiliser PHP_SELF comme target du formulaire et de rediriger vers l'accueil après l'insertion en utilisant un header ou (si tu as besoin de faire des outputs avant traitement - Je pense notement à l'utilisation de templates avec un code gors HTML bloqué) d'utiliser le javascript.

Hors ligne