Fondamentalement, je déteste un site Web satellite qui comprend form.php à partir d'un serveur entièrement différent.PHP http ne pas enregistrer les sessions
<?php
include("http://blah.com/form.php");
?>
Le form.php sur les autres charges sessions classes et toutes sortes d'autres choses et génère une forme dynamique basée sur une tonne de données MySQL. Sans importance. Mon problème est que lorsque le formulaire est appelé, je commence aussi une session. Pourtant, le serveur distant n'est jamais visité par le client. La séance ce qui reste. Chaque fois que la page est actualisée, l'ancienne session est vidée.
La raison complète de ceci est que je dois retourner les erreurs de validation au formulaire original et les afficher. (Il est un tableau de choses comme « nom d'abord est un champ obligatoire »)
Le code sur le serveur principal ressemble à quelque chose comme ça ...
<?php
include("config.php"); // This is loading the config file with the session_start()
Process($id) {
// Do a bunch of form processing and store errors in $this->errors
$_SESSION['errors'] = $this->errors;
}
ShowForm($id) {
// This loads the form and everything.
echo '<div id="errors">'.print_r($_SESSION['errors']).'</div>'; // This is what is returning nothing on the other page.
}
?>
Donc, fondamentalement, ce script est appelé à partir du site distant , mais les sessions ne seront pas sauvegardées et seront sauvegardées lors de l'actualisation ... Je suppose que c'est parce que le serveur principal d'actualy n'est jamais chargé dans le navigateur des utilisateurs.
Est-ce que quelqu'un sait un moyen de contourner ce/un moyen de résoudre ce problème? Ou peut-être une solution différente? Tout fonctionne.
Merci
Avez-vous appelé session_start() avant l'inclure? Ou la session a-t-elle démarré à l'intérieur de la télécommande? –
Oui bien sûr. Le $ _SESSION global est en cours de définition, mais son empty et session_id retourne l'identifiant mais il change à chaque redémarrage. – sct
err. refresh * ne redémarre pas, lol. – sct