PHP, de l'en-tête(redirection) ne fonctionne pas sur le serveur live
J'ai ce code
if(isset($_GET['elimina_id'])){
if (in_array($_GET['elimina_id'], $_SESSION['cart']) ) {
$index = (array_keys($_SESSION['cart'], $_GET['elimina_id']));
$i = $index[0];
unset($_SESSION['cart'][$i]);
header('location: cart.php');
}
}
Fondamentalement, je veux supprimer un article dans le panier. La chose est, sur la page de test, localhost, tout fonctionne, mais sur le serveur live j'ai des problèmes avec header()
. Si j'ai mis header()
l'élément ne sera pas supprimé, la page recharge sans toute action prise d'effet. Si je ne mets pas la header()
, après je clique sur " Supprimer l'élément de lien, rien ne se passe, mais si je peux manuellement recharger la page, il fonctionne, l'élément supprime.
Sur localhost, je n'ai pas ce problème, que pourrait-il être? La version de php est OK, pourrait-il être certains paramètres dans le .fichier ini ?
J'espère que vous pourrez m'aider, Merci
- mettre
ob_start();
dans la première ligne de votre code..
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas utiliser une redirection meta tag, ou une solution d'activer javascript?
HTML:
<meta http-equiv="refresh" content="0;url=http://www.site.com/cart.php">
JavaScript #1:
<script>window.location = "http://www.site.com/cart.php";</script>
JavaScript #2:
<script>window.navigate("http://www.site.com/cart.php");</script>
Utilisation
ob_start()
avantheader('location: cart.php');
mettre
ob_start()
dans la première ligne de votre code,faire comme ceci
<?php
ob_start();
if(isset($_GET['elimina_id'])){
if (in_array($_GET['elimina_id'], $_SESSION['cart']) ) {
$index = (array_keys($_SESSION['cart'], $_GET['elimina_id']));
$i = $index[0];
unset($_SESSION['cart'][$i]);
header('location: cart.php');
}
}
ob_end_flush();
?>
`
J'ai eu le même problème avec mon hébergement,
Je l'ai résolu par le fournisseur d'hébergement en mettant à jour la version de PHP
Il a juste changé la version de php de php 5.4 à 5.6 et il pourrait avoir résolu le problème
Alors Demandez à votre Fournisseur d'Hébergement pour mettre à Jour la version de PHP.
cela fonctionne