Newsgroup: it.comp.www.php
Titolo: Aruba e cookie (meledetti)

Salve a tutti,
vi scrivo perchè ho un grosso problema che non fi fa dormire la notte! 
qualcosa che va oltre l'umana concezione....
Ho un sito, e sto cercando di creare una semplice sezione protetta con 
l'utilizzo dei cookie...
Il mio problema è che il codice in locale riesce perfettamente a creare 
il cookie, e invece in remoto non funziona proprio!!
Come hosting per questo sito ho ARUBA.
Ho provato il codice anche su altri hosting e funziona tutto alla 
perfezione (come in locale)... ma su ARUBA proprio non vuole saperne di 
creare quel maledetto cookie!!
come vedete ho ridotto il codice proprio all'osso...
--------------------------------------------------------------------------------
<?
mysql_connect("xxxx", "xxxx", "xxxx") or die ("Non posso connettermi (1)");
mysql_select_db("xxxx") or die ("Non posso connettermi al database (2)");
IF (!isset($_COOKIE[cookieid]))
{
echo "NON SEI LOGGATO <br>";
$pass = md5($_REQUEST[pass]);
$grabuser = "SELECT recID FROM user WHERE username = '$_REQUEST[user]' 
AND password = '$pass'";
$result = @mysql_query($grabuser);
IF (@mysql_num_rows($result) == 0 )
{
echo "NOME O UTENTE NON VALIDI.";
include ("moduli_richiesta_password.php");
exit();
}
IF (@mysql_num_rows($result) != 0)
{
$userid = @mysql_result($result,0,"recID");
$cookie_setter = setcookie ("cookieid", $userid, time()+3600);
}
IF (!$cookie_setter) { echo "SETTAGGIO COOKIE FALLITO.  <br>"; }
}
?>
--------------------------------------------------------------------------------
sono arrivato pure ad avere un semplice:
$cookie_setter = setcookie ("cookieid", "prova", time()+3600);
e in questo caso il cookie viene creato.
NON SO PIù DOVE SBATTERE LA TESTA!!! qualcuno di voi ha già avuto un 
problema simile?! come lo ha risolto?
facendo una piccola ricerca ho trovato qualcuno che aveva il mio stesso 
problema:
http://groups.google.it/groups?q=cookie%20aruba&hl=it&lr=&sa=N&tab=wg
ma questo (gravissimo) problema non sembra avere soluzione!
non sarò una cima in php, ma a me tutto ciò sembra assolutamente assurdo!!!
C'è qualcuno che potrebbe aiutarmi?
Grazie mille...
... aiuto, sig! ...


session_start();


Grazie, ora proverò con le sessioni..
comunque è strano che questo codice non funzioni solo su aruba...
ciao.

 deve essere univoco in tabella :-(
A me non piace il tuo di codice.
Il fatto che user sia univoco deve essere garantito dai vincoli del
database, oppure il database è da riprogettare, non è affatto necessario
controllare nel codice php, anzi è una perdita di tempo. Se non è necessario
estrarre informazioni sullo stato dell'account la soluzione migliore è
utilizzare la funzione COUNT di sql con una query del tipo:
"SELECT COUNT(*) FROM user WHERE username='blabla' AND password='blabla'"
se restituisce 1 l'utente viene loggato, se restituisce 0 l'utente non viene
loggato.
Inoltre io preferirei usare le funzioni di codifica hash del dbms anzichè
quella del php.
Non bisogna mai codificare in php quello che può essere fatto in sql.

 restituisce 0 l'utente non viene loggato.
E se restituisce 2? 

 E se restituisce 2? 
Hai sbagliato a impostare i vincoli nel DB e/o il DB e` corrotto.
Bye.
-- 
Alessandro Pellizzari

"Mathew" <math...@NONVOGLIOSPAMinwind.it> ha scritto nel messaggio
news:3akn6pF...@individual.net...

Se il database è correttamente progettato ed implementato *non può
restituire 2*.
Se esiste la possibilità che restituisca 2 il database deve essere
riprogettato e reimplementato proprio per le stesse ragioni di sicurezza di
cui parlavi nel tuo post.
Tutto quello che può essere fatto dai dbms non deve essere fatto nel php,
perchè i primi sono molto più potenti e performanti nella gestione, verifica
e selezione dei dati.

Grazie a  tutti, ho finalmente fisolto.
É stato necessario fare l'upload sul server, nella home del sito, del 
mio file php.ini .
Ciao.