session sid

  • Creatore Discussione Creatore Discussione andy750
  • Data di inizio Data di inizio

andy750

Nuovo Utente
18 Set 2009
7
0
0
salve a tutti
ho un piccolo problema
devo mettere un semplice collegamento (href) nella mia pagina che deve far aprire una nuova pagina ad un altro sito (semplici news)
il problema che questa pagina (quella delle news) ha nel url la session sid visibile e quindi mi trovo imposibilitato a mettere un url fissa nel mio href visto che il sid cambia in per ogni utente.

in teoria dovrei mettere <a href="http://sitodaaprire.com/news.asp?id=1&sid=" + QUI DEVE ANDARE IL SID CHE DEVE PRENDERE IN AUTOMATICO

Purtroppo non ho mai lavorato con le sessioni e quindi non mi rendo conto se la cosa e' fattibile.
Ciao e grazie dell'aiuto
 
ciao
immagino che l'utente per accedere debba digitare una pass o qualcosaltro, se è così:
PHP:
<?php
//prima istruzione in tutte le pag in cui usi le sessioni

if(!isset($_SESSION)){//verifichi se sessioni esistono
  session_start();// se no la crei
}
/*
ipotesi password da form via post
tutti i controli su post che devi fare
ho messo ['sid'] ma puoi mettere altro nome
es.puo essere la pass e ricerchi il sid da db
*/
$_SESSION['sid']=$_POST['quello_che_utente_invia'];
//tutto il resto

echo "<a href=\"http://sitodaaprire.com/news.asp?id=1&sid=".$_SESSION['sid']."\">accedi</a>";
//................
?>
 
Grazie borgo italia molto gentile da parte tua aiutarmi.
Purtroppo non funziona..
il sito esterno delle news non prevede nessuna inserimento di pass e user
non avendo lavorato molto con le sessioni ho fatto delle prove ma mi restituisce sempre un sid errato o nullo e quindi vado sempre in sessione errata

utilizzando il session_id ottengo
sito......id=1&sid=aaaaaaa479ccc5l6dddd0l9pe2

invece questo dovrebbe essere il collegamento giusto
sito......id=1&sid=123456789

grazie di nuovo
 
ciao borgo come sempre molto gentile..
ti speigo


miosito.com
1) notizia 1
2) notizia 2
ecc..
questi link devono puntare a delle pagine presenti su sitonews.com

sitonews.com
1) NEWS 1 (il link e' es. sitonews.com/news.asp?id=1&sid= "QUESTO CAMBIA PER OGNI UTENTE OGNI VOLTA CHE SI COLLEGA"

2) NEWS 2
ecc...

ora il problema e' che la mia notizia 1 deve puntare al link della new1 del sitonews.com

ho fatto uo script che mi legge con fopen la pagina e mi tira fuori le news del sitonews.com con i relativi link (diciamo una specie di rss feed)

Risultato
miosito.com
1) notizia 1 - link - sitonews.com/news.asp?id=1&sid=123456789
e sembrerebbe corretto
2) notizia 2
ecc..

fino a qui nessun problema.. il problema e' che il link con il sid che ricavo perde la sessione e quindi mi va sempre in sessione errata.
ora come detto prima non avendo lavorato mai con le sessioni non so se questa cosa e' fattibile.

Grazie dell'aiuto.
 
ciao
cosa ottieni dal fopen oltre che la notizia? anche il link tipo
sitonews.com/news.asp?id=1&sid=123456789
sitonews.com/news.asp?id=2&sid=987654321
ecc...
dentro un file testo o simile?
c'è qualcosa dopo sid=xyz ??????
oppure sitonews.com/news.asp?id=1&sid=quello_che_è lo trovi dentro una variabile?
 
ciao Borgo
allora con fopen faccio la scansione del file html esterno e ottengo

$varA=titolo news
$varB=piccola descrizione
$varC=link news (sitonews.com/news.asp?id=1&sid=123456789)
per n news

(in pratica mi tiro fuori solo il sid visto che titolo desc e parte del link fino a sid= vengono scritte con jcron in automatico dentro il mysql ogni 10 min. cmq per non fare confusione faccio finta che assegno alle mie variabili i dati citati sopra)


ogni volta che apro la mia pagina il sid dei link cambia (giustamente) ma nel momento che clicco sul link mi apre la pagina con sessione errata/scaduta

questo e' un esempio del html che leggo con fopen

<td><font size="1" face="Arial" color="#aaaaaa"> 19/07/2009</font><br>
<font size="2" face="Arial" color="#aaaaaa"><b><a href="news.asp?id=1&sid=272264223">titolo news</a></b></font><br>
<font size="2" face="Arial" color="#0F2E71">piccola descrizione</font></td>

sembrerebbe tutto perfetto ma non capisco perche' la sessione viene persa (forse con fopen e fclose non e' possibile fare questo)

ciao e grazie mille di nuovo
 
ciao
se prelevi le variabili come hai detto allora puoi fare (tentare di fare) così.
come gia detto in testa lalla pag metti l'istruzione
if(!isset($_SESSION)){$_session_start();}

dove la prelevi
$varA=titolo news
$varB=piccola descrizione
$_SESSION['sid']=link news (sitonews.com/news.asp?id=1&sid=123456789);//o solo il sid

dove la utilizzi (se è html)
td><font size="1" face="Arial" color="#aaaaaa"> 19/07/2009</font><br>
<font size="2" face="Arial" color="#aaaaaa"><b><a href="news.asp?id=1&sid=<?php echo $_SESSION['sid']; ?>">titolo news</a></b></font><br>
<font size="2" face="Arial" color="#0F2E71">piccola descrizione</font></td>
 
ciao borgo e buona domenica
purtoppo il ruslutato e' lo stesso sia se utilizzo session_start sia se non la utilizzo.
forse e' sbagliato l'utilizzo del fopen che fa incrementare ogni volta il sid
ho provato anche con file_get_contents e ora sto provando con la classe curl ma il risultato non cambia.
non so piu' cosa provare
ciao e grazie come sempre
 
ciao
ho provato a guardare il link per cercare di capire e ho cliccato sulla prima news per cui sono andato nella news

http://www................./acnews/news.asp?id=654&sid=758280322

mi stai dicendo che utilizzando il fopen sid cambia?
io ho provato a scrivere in una semplice pag.htm

<a href="http://www................./acnews/news.asp?id=654&sid=758280322">leggi notizia</a>
cliccando vado sempre alla stessa notizia.
mi sorge un piccolo dubbio (anzi grosso) prova ad inserire come ti ho detto una sola notizia poi mi sai dire
 
ciao
allora come dici tu con una semplice pag.html funziona
chiaramente il mio sid e' differente dal tuo e la sessione viene mantenuta per 30 min (penso) e anche utlizzando una altro browser chiaramente cambia. (per via dei cookie)
quindi dovendo mettere su sid dinamico a quei link quando un mio utente apre la MIA pagina news gli faccio fare semplicemente

anche senza cicli e quindi si ferma alla prima news
fopen ..

.... trova titolo, desc e link della news

.... print (tutto quello che mi serve)

fclose

ora stampando il sid trovato noto che ad ogni mio semplice refresh il sid si incrementa di +1

ora il fatto e' questo
se apro DIRETTAMENTE il sito remoto dove prendo le news il sid sara'
758280920 e questo per circa 30 min (anche se dovessi riaprirlo in seguito)

invece aprendo la mia pagina dove c'e' fopen mi trovo un sid leggermente piu alto (diciamo si una ventina di unita' 758280941) e cmq sia continua ad aumetare ogni volta che riapro la mia pagina o faccio un semplice refresh.

il fatto di farlo su una o piu' notizie penso che non cambi molto visto che il sid e' sempre uguale per tutte le news mentre cambia solo l'ID... ma quello on e' un problema.

Ciao e grazie
 
se apro DIRETTAMENTE il sito remoto dove prendo le news il sid sara'
758280920 e questo per circa 30 min (anche se dovessi riaprirlo in seguito)

invece aprendo la mia pagina dove c'e' fopen mi trovo un sid leggermente piu alto (diciamo si una ventina di unita' 758280941) e cmq sia continua ad aumetare ogni volta che riapro la mia pagina o faccio un semplice refresh.

allora è da rivedere come leggi il sid, intanto perchè ti da una ventina di unità più del reale, due perchè si incrementa se quello remoto rimane uguale per 30 minuti
 
infatti ho paura che fopen per quello che voglio fare io non vada bene
il fatto di avere un sid superiore sicuramente e' dovuto dal fatto che sono i tentativi fatti in localhost.
cmq in remoto si comporta nella stessa maniera anche se invence come dici tu dovrebbe mantenere la stessa sessione..
bhoo faro' altre prove e poi ti diro'.
intanto grazie mille borgo per il tuo aiuto e per la tua pazienza.
ciao
 

Discussioni simili