Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss
Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Manipolare Stringa window.location di javascript in PHP

18 views
Skip to first unread message

Ulisse31

unread,
Jan 31, 2024, 7:48:50 PM1/31/24
to
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

Enrico Maria Chellini

unread,
Feb 1, 2024, 9:05:23 AM2/1/24
to
Il giorno Wed, 31 Jan 2024 16:48:48 -0800 (PST)
Ulisse31 <max.cu...@gmail.com> 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



Ulisse31

unread,
Feb 1, 2024, 8:15:00 PM2/1/24
to
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?

Ulisse31

unread,
Feb 1, 2024, 10:07:07 PM2/1/24
to
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

Leonardo Serni

unread,
Feb 2, 2024, 2:43:13 AM2/2/24
to
On Wed, 31 Jan 2024 16:48:48 -0800 (PST), Ulisse31 <max.cu...@gmail.com>
wrote:

> 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" :-) :-(

Enrico Maria Chellini

unread,
Feb 2, 2024, 9:00:41 AM2/2/24
to
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


Ulisse31

unread,
Feb 2, 2024, 9:31:04 PM2/2/24
to
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.

Enrico Maria Chellini

unread,
Feb 3, 2024, 3:48:06 AM2/3/24
to
Il giorno Fri, 2 Feb 2024 18:31:02 -0800 (PST)
perchè non c'è il GET;

tu hai una struttura di questo tipo se ho capito bene

Pagina1

se c'è la ricerca > <?php echo $pagina2; ?>

ora bisogna capire come viene passata questa istruzione se da
javascript o da php;

>
> Spero di essermi spiegato.

no

> 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?

probabilmente sono gli indici delle tabelle, oppure dell'array;

così è un po' difficile dirlo.


> 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.

guarda siamo qui tutti per imparare qualcosa, io per primo.

Enrico


Mirko

unread,
Feb 3, 2024, 5:58:52 AM2/3/24
to
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

Ulisse31

unread,
Feb 3, 2024, 10:33:56 PM2/3/24
to
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.
0 new messages