Passer des Données d'Une Page PHP à une Autre en utilisant l'en-tête()

Je veux envoyer des données à partir d'un fichier PHP à un autre fichier PHP dans un sous-dossier dans lequel le premier fichier PHP est présent. J'ai un dossier nommé folder1 qui a contient un fichier PHP nommé file1.php et je veux appeler un autre fichier nommé file2.php dans un sous-dossier de folder1 nommé folder2. Je suis l'aide de la header() fonction comme ceci dans file1.php:

$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'folder1/folder2/file2.php';
header("location:http://$host$uri/$extra?sms=".$msg."&num=".$msg_num);

De données n'est pas en passant. Est-il une solution à l'aide de header()? Je ne peux pas utiliser cURL à cause de certaines restrictions.

  • Pouvez-vous être plus précis que "les données ne passe pas" signifie?
  • Avez-vous essayez d'utiliser les sessions?
  • paramètres de chaîne de requête sont vides dans file2.php. Même s'ils sont remplis avec des données valides dans file1.php
  • Qu'obtenez-vous lorsque vous echo "location:http://$host$uri/$extra?sms=".$msg."&num=".$msg_num;
  • je suis l'obtention de données lorsque je me fais l'écho de ce genre... mais les données ne sont transmises, fichier2
  • Je ne vous vois pas l'initialisation de $msg et $msg_num. Comme @jprofitt dit, fondamentalement, le débogage 101, imprimer le résultat et voir si elle correspond à vos attentes. La seule possibilité est que ces variables ne sont pas définies et la chaîne de requête est chargé avec vide de variables. Ou, mais vous ne l'avez pas dit, vous avez déjà l'écho avais quelque chose et que vous recevez l'avertissement que les en-têtes sont déjà envoyés, et la redirection n'a jamais lieu. Comment voyez-vous que "les données ne sont transmises, fichier2"? Avez-vous essayé var_dump($_SERVER);?
  • J'ai initialisé et lui a attribué. Je peux dire que les données ne sont pas arriver à file2.php comme il n'y a pas de données dans la chaîne de requête, comme je peux voir le navigateur
  • je ne peux pas utiliser les sessions pour mon fichier 🙁
  • Pensez-vous réellement obtenir redirigé vers cette file2.php? Et ce ne vous voyez dans la barre d'adresse?

InformationsquelleAutor user1059869 | 2011-11-22