Newsgroup: it.comp.www.php
Titolo: Manipolare Stringa window.location di javascript in PHP

Buona sera a tutti,
 
sono giorni che sto buttando nel WC i miei pochi neuroni, per risolvere una questione che pare semplice, ma, in realtà non la è.
 
Iniziamo col dire che devo gestire una forma da una pagina figlia all'interno di una pagina padre quindi devo poter gestire i valore _GET che mi passa il form.
 
Peccato che questo non sia possibile in quanto essendo la pagina figlia non vede direttamente tali parametri ($_GET), che risultano assenti.
 
Quindi con questo codice ho provato a prelevare i comandi get:
 
----------------------------------------------------------------
	<script>
 
	var dest = window.location.href;
 
	</script>
 
	<?php
	$Url="<script>document.writeln(dest);</script>";
 
	.....
	.....
	.....
 
	?>
----------------------------------------------------------------
 
Ora, la variabile $Url, ho provato a trasformarla in Array, fare dei replace di ogni tipo per cercare di utilizzare i parametri che mi servono, insomma, credo che le ho provate tutte ma, niente, quella variabile è come se non la riconosce come stringa e ho paura di ignorare qualche cosa che.
 
Potete indirizzarmi su cosa sbaglio?
o magari darmi suggerimenti su altre strade da percorrere.
 
grazie in anticipo a tutti.
 
Saluti

 ha scritto:

Scusa ma non ho capito bene, allora hai un arry GET[]  che viene da
una form php e devi trasferire il valore su uno script javascritpt? 
 
intanto dovrei dire a javascript quando caricare il valore
onLoad->esegue xxx, poi dovrai settare la variabile che cambia al
caricamento, nella funzione xxx dove ci inserisci il GET di php .
 
Enrico 
 
 
 


Ciao Enrico e grazie per la risposta.
 
ho praticamente risolto cosi
 
Questo è il link:
https://SitoWeb/Pagina.php?Var1=36&var2=pippo&Btn=Ricerca
 
 
	<script>
 
	var dest = window.location.href;
	  if(dest.indexOf("Btn")>-1){
         //Valore Prima variabile
		  Var1= dest.substring(32, dest.indexOf("&var2"));
	  }
	  if(dest.indexOf("Azione")>-1){
         //Valore Seconda variabile
		  Var2= dest.substring(dest.indexOf("&var2")+6, dest.indexOf("&Btn"));
	  }
 
	</script>
 
Poi in PHP, ho prelevato i valori delle 2 variabili:
 
	<?php
	$Cat="<script>document.writeln(Var1);</script>";
	$Txt="<script>document.writeln(Var2);</script>";
 
	echo "Variabile1= ".$Var1." - Variabile2= ".$Var2;
 
	?>
 
Cosi, funziona... e posso usare le variabili della pagina padre, sulla pagina figlia e fare cosi una select sul mio DB.
 
che ne pensi?


L'unica cosa che non capisco è perchè non rilevo il valore -1 della variabile1 ne il il valore "" nella variabile 2.
 
se in PHP faccio un echo strlen($Var1) e l'echo ($Var2)
 
Avente rispettivamente valore "-1" e ""
 
mi restituisce un valore pari a 45 e 41. Non me lo spiego... e sono ore che ci sbatto la testa
 
saluti

 Iniziamo col dire che devo gestire una forma da una pagina figlia all'interno di una pagina padre quindi devo poter gestire i valore _GET che mi passa il form.
 
Veramente sei partito da metà. Cos'è una "pagina figlia" in questo contesto,
come viene caricata (lato server? Lato client? AJAX?) e da dove vuoi gestire
questa form, e come? (submit, AJAX, ...)?
 
Leonardo
-- 
 
"You all presumably know why" :-) :-(

Il giorno Thu, 1 Feb 2024 17:14:58 -0800 (PST)

che non ho capito ancora cosa vuoi fare e a che ti serve javascript.
 
prima di tutto javascript lavora sul dom del documento di una pagina o
di due se c'è un frame. 
 
PHP lavora sulle chiamate server quindi o due pagine o due sezioni
della stessa pagina con condizione che ci sia la chiamata GET o POST
 
diciamo che abbiamo due pagine
 
pagina1.php
pagina2.php
 
 
pagina1.php contiene il link
https://SitoWeb/Pagina2.php?Var1=36&var2=pippo&Btn=Ricerca
 
 
giusto?
 
su pagina due avrai (SEMPLIFICATO DA SISTEMARE PER SQLIGNECTION)
 
$Cat=$_GET['Var1'];
echo $Cat; // a schermo: 36
$Txt=$_GET['Var2'];
echo $Txt; // a schermo: pippo
$Btn==$_GET['Btn'];
echo $Btn; // a schermo: Ricerca
 
//se è una ricerca 
if (isset($_GET['Btn'])){
// questa istruzione mi pare cambiata in php 8.2 ora non ricordo come è 
 
 farai la query :
 $query='SELECT * FROM tabella WHERE var1="$var1" AND var2="$var3" ';
}
 
se ho capito bene.
 
Enrico 
 
 


Ciao Enrico,
 
Allora, trattasi di un portale che ovviamente non ho fatto io .a che mi hanno chiesto di aggiungere/modificare alcune parti.
In pratica c'è questa pagina principale che non è altro che un php che costruisce la struttura della medesima e il link della pagina secondaria che viene richiamata semplicemente con il comando ecco $page.
 
Perché javascript? Come spiegato all'inizio con javascript rilevo tutto l'indirizzo completo (
https://SitoWeb/Pagina.php?Var1=36&var2=pippo&Btn=Ricerca
) anche se lo lancio dalla pagina secondaria, mentre se dalla pagina secondaria uso i comandi $_GET non rilevo nessun parametro perché da php l'indirizzo che mi rileva é semplicemente quello della pagina secondaria... dove non ci sn parametri.
 
Spero di essermi spiegato.
 
Ora ho il problema, forse di codifica dati, perché pur vedendo i valori giusti e cioè -1 e "", quindi nella tendina di ricerca non ho scelto nulla e nella testa di ricerca non ho inserito nulla e 
lancio un comando per contare i caratteri delle 2 variabili mi restituisce il valore di 45 e 41, cm se in realtà ci siano caratteri nascosti. Boh
 
Hai una spiegazione?
 
Grazie ancora.
 
Ps.:non programmavo in php da circa 14 anni e quindi ho "alcune" lacune... su cose che magari a te/voi risultano scontate.

 lacune... su cose che magari a te/voi risultano scontate.
 
guarda siamo qui tutti per imparare qualcosa, io per primo.
 
Enrico 
 
 

Il 03/02/24 03:31, Ulisse31 ha scritto:

se ho capito bene tu vuoi passare i parametri di pagina 1 alla pagina 2 
che viene richiatamata tramite
 
echo $pagina2
 
, se questo è corretto
 
da pagina 1 prendi i parametri tramite GET
tipo
$Cat=$_GET['Var1'];
 
e li passi a pagina 2 prima di fare echo
 
$URL = $pagina2 . '?cat='.$Cat;
 
echo $URL;
 
da pagina2
 
puoi fare il $_GET['cat']
 
non ho testato ma dovrebbe funzionare

Buongiorno,
 
visto l'ora. Beh, Mirco, che dirti... un grazie non basta. Certo non ha funzionato modificando semplicemente il valore $Page perchè all'interno di quel $Page c'era anche tutti i TAG Meta, Title ecc.ecc. in quanto come scritto precedentemente, la pagina veniva costruita, inserendo i moduli pubblicitari e news piè di pagina e in testa. Però ho preso spunto da te per andare ad aggiungere i valore $_GET nel posto giusto e.. taaac.. ha funzionato.. beh, che dirti, dopo tutte ste notti insonne... posso dormire come un Neonato in piena crescita, finalmente e se passi per Alessandria... contattami che ti offro da bere (Beh, lo offrirò a chiunque mi abbia risposto in questo post perchè siete stati tutti di gran aiuto)
 
Grazie ancora e in bocca al lupo per tutto.
