-
Problema cambio pagina
Salve ragazzi, non so perchè, ma il cambio pagina qui mi crea problemi:
Alla pagina successiva ci va normalmente, ma se provo a tornare alla pagina precedente da quella successiva mi perde la variabile $cat (type=$cat, in quel caso C).
Il cambio pagina viene eseguito in questo modo:
Codice:
$pgx=$cnt/$t_vis;
settype($pgx,"int");
$pgx+=1;
for($x=1;$x<=$pgx;$x++){
if($x==$pag){
$xw="<b>$x</b>";
}else{
$xw=$x;
}
echo "[<a class=\"white\" href=\"vedi_glossario.php?type=$cat&pag=$x\">$xw</a>] ";
}
E sopra regolo le variabili:
Codice:
if($pag==0){
$pag=1;
}
$t_vis=25;
$f_pag=25*$pag;
$i_pag=$f_pag-$t_vis;
Guardate la pagina incriminata:
http://www.silverseraph.altervista.o...rio.php?type=c
Grazie
-
Devi nominare la variabile sempre allo stesso modo!
Non puoi prima chiamarla $cat e poi $type!
O una o l'altra.
Ciaoo!!!!!
-
Non è che ti sei dimenticato di mettere:
Codice PHP:
$cat=$_GET['type'];
-
@ debug $cat indica la variabile per categoria, non c'entra nulla con $type che indica il collegamento alla categoria. come dici tu dovrebbe venite pagina.php?cat=$cat.
@ funcool no, non me lo sono dimenticato, l'ho regolato tramite if : if($cat==$type).
-
Esatto!
*deve* essere cat=$cat così nella pagina linkata $cat avrà il valore che prima aveva sempre la variabile $cat!
Così come hai scritto tu non ha senso, o meglio lo avrebbe se poi nella pagina linkata reimposti la var $cat con il valore di $type, ma anche questo ovviamente non ha senso.
Stesso discorso vale se vuoi usare $type al posto di $cat, inverti tutto quello che ho scritto.
Ciaooooo!!!!!
-
-
Evidentemente non hai implementato i controlli che ti ho descritto sopra!
Tu con cosa controlli l'iniziale?
La stessa var con cui controlli l'iniziale devi scriverla nei link.
Ciaooo!!!
-
io controllo l'iniziale con $cat
-
OH, quindi nella pagina la variabile $cat contiene sempre l'iniziale che ti interessa.
Ti basta costruire il tuo script con questa premessa e tutto si risolve.
Se non riesci prova a postare lo script incriminato (se troppo lungo incolla solo la porzione interessata).
Ciaooo!!!!!!!
-
Ora provo con $type e $cat che sembra che fungi meglio:
parte di sopra:
Codice:
$pag=$_GET[pag];
$cat=$_GET['type'];
if($pag==0){
$pag=1;
}
$t_vis=25;
$f_pag=25*$pag;
$i_pag=$f_pag-$t_vis;
$cx=1;
$okp=array();
foreach($op_db as $val){
list($id,$testo,$titolo,$cat)=explode("|",$val);
if($cat==$type){
$okp[]=$val;
}
}
$cnt=count($okp);
if($cnt>0){
for($i=$i_pag;$i<$f_pag;$i++){
if($cx==1){
$color="#f1f1f1";
$cx=0;
}else{
$color="#ffffff";
$cx=1;
}
$arg=$okp[$i];
list($id,$testo,$titolo,$cat)=explode("|",$arg);
if(isset($cat)){
Parte di sotto:
Codice:
$pgx=$cnt/$t_vis;
settype($pgx,"int");
$pgx+=1;
for($x=1;$x<=$pgx;$x++){
if($x==$pag){
$xw="<b>$x</b>";
}else{
$xw=$x;
}
echo "[<a class=\"white\" href=\"vedi_glossario.php?type=$cat&pag=$x\">$xw</a>] ";
}
-
Scusa eh, ma $type che valore ha secondo te?
Perchè usi due variabili quando ne puoi usare una sola?
Fai così, sostituisci tutti i $type con $cat, oppure viceversa, vedrai che non avrai problemi.
Ciaooo!!!
-
già fatto...i risultati sn stati i precedenti...
-
I precedenti quali??
Non devi soltanto cambiare nel link, ma in tutto lo script!
Facciamo così, quando hai modificato tutto come ti ho detto sopra, riposta il nuovo script.
Ciao!
-
FATTO
Codice:
$pag=$_GET[pag];
$cat=$_GET['cat'];
if($pag==0){
$pag=1;
}
$t_vis=25;
$f_pag=25*$pag;
$i_pag=$f_pag-$t_vis;
$cx=1;
$okp=array();
foreach($op_db as $val){
list($id,$testo,$titolo,$cat)=explode("|",$val);
if($cat==$cat){
$okp[]=$val;
}
}
$cnt=count($okp);
if($cnt>0){
for($i=$i_pag;$i<$f_pag;$i++){
if($cx==1){
$color="#f1f1f1";
$cx=0;
}else{
$color="#ffffff";
$cx=1;
}
$arg=$okp[$i];
list($id,$testo,$titolo,$cat)=explode("|",$arg);
if(isset($cat)){
//sotto
$pgx=$cnt/$t_vis;
settype($pgx,"int");
$pgx+=1;
for($x=1;$x<=$pgx;$x++){
if($x==$pag){
$xw="<b>$x</b>";
}else{
$xw=$x;
}
echo "[<a class=\"white\" href=\"vedi_glossario.php?cat=$cat&pag=$x\">$xw</a>] ";
}
RISULTATO:
http://www.silverseraph.altervista.o...ario.php?cat=c
-
L'errore ora è qui:
if($cat==$cat){
Da come vedo strutturato il codice, credo dovresti scrivere:
if($val==$cat){
ma non ne sono sicuro perchè non so cosa sono quei dati e da dove li prendi.
Ciaoooooo!!!!!
-
Ora ancora peggio nn mi da alcuna lettera...cmq questo script è gestito d aun db txt
-
Questo pezzo di codice:
Codice PHP:
$okp=array();
foreach($op_db as $val){
list($id,$testo,$titolo,$cat)=explode("|",$val);
if($cat==$cat){
$okp[]=$val;
}
}
Prova a sostuirlo così:
Codice PHP:
$okp=array();
foreach($op_db as $val){
list($id,$testo,$titolo,$categoria)=explode("|",$val);
if($cat==$categoria){
$okp[]=$val;
}
}
-
fatto, niente...mi da lo stesso problema iniziale
-
Cmq il ragionamento che ti ho descritto è giusto, c'è qualche errore che non posso identificare perchè non so cosa sono tutte quelle var e il loro valore.
Ti consiglio di fare qualche prova su questa strada.
Ciaooo!!!