Domanda

Sto sviluppando sul mio notebook Mac, utilizzo MAMP. Sto cercando di impostare un cookie con PHP e non posso. Ho lasciato il dominio, ho provato a usare " \ " per il dominio. Senza fortuna.

setcookie("username", "George", false, "/", false);
setcookie("name","Joe");

Mi manca qualcosa di ovvio. Ho bisogno di una soluzione rapida e semplice a questo. Ce n'è uno?

Non sto facendo nulla di stravagante, sto semplicemente caricando (tramite MAMP) la pagina, http: // localhost: 8888 / MAMP / lynn / setcookie.php

Quello script ha il codice setcookie in alto, prima ancora di scrivere i tag HTML. (anche se l'ho provato anche nel CORPO). Carico la pagina in vari browser, quindi apro la lista dei cookie. So che i browser accettano i cookie, perché vedo quelli correnti nell'elenco. Solo non il mio nuovo.

È stato utile?

Soluzione

Dai documenti:

  

setcookie () definisce un cookie da inviare insieme al resto delle intestazioni HTTP. Come altre intestazioni, i cookie devono essere inviati prima di qualsiasi output dallo script (questa è una restrizione del protocollo). Ciò richiede di effettuare chiamate a questa funzione prima di qualsiasi output, inclusi tag e qualsiasi spazio bianco.

È così?

modifica

Riesci a vedere il cookie inviato dal server, ad es. utilizzando l'estensione di Firefox Dati manomissione o telnet? Riesci a vederlo essere rispedito dal browser alla richiesta successiva? Qual è il valore di ritorno di setcookie ()? Non funziona in tutti i browser o solo in alcuni?

Altri suggerimenti

<?php
ob_start();
if (isset(<*>

Prova questo.

COOKIE['test'])) { echo 'cookie is fine<br>'; print_r(<*>

Prova questo.

COOKIE); } else { setcookie('test', 'cookie test content', time()+3600); /* expire in 1 hour */ echo 'Trying to set cookie. Reload page plz'; }

Prova questo.

Eliminazione di " localhost " e solo avere una stringa vuota ha funzionato per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top