-
Modifica URL tramite PHP
Salve, sto da un paio di giorni lavorando su una tagboard e dovendola inserire sulla piattaforma ForumFree ho questo codice:
Codice:
<script type="text/javascript">
var user = document.querySelector('.menuwrap .avatar > img');
var nick = document.querySelector(".menuwrap .nick")["inner"+"HTML"]; var link =document.querySelector('.menuwrap .left a[href*="MID"]').href ;
if(user){document.write('<iframe src="http://bookmode.altervista.org/ForumFreeMagazine/chat2/index.php?n='+nick+'&'+link+'" id="chat"></iframe>');}
</script>
Ora come vedete l'url dello script sarà composto dal percorso per il file della tagboard seguito dal nick e url profilo dell'utente attuale, tutto questo mi dovrebbe servire per poter assegnare il link e il nome corretto al messaggio inviato alla tagboard.
Vi chiedo quindi, come è possibile modificare l'url ottenendo per esempio solamente il nick e poi solamente il link del profilo dell'utente?
Ad esempio nel mio caso otterrei il link dello script in questo modo:
Codice:
http://bookmode.altervista.org/ForumFreeMagazine/chat2/index.php?n=A s k&http://provaheader.forumfree.it/?act=Profile&MID=6764947
come posso estrarre A s k(nome utente) e successivamente http://provaheader.forumfree.it/?act...le&MID=6764947 (link profilo) ?
-
Per ottenere i parametri dall'URL basta utilizzare $_GET['nomeparametro'], per decodificare i parametri dalla stringa url puoi usare parse_url e parse_str
Codice HTML:
<script type="text/javascript">
var user = document.querySelector('.menuwrap .avatar > img');
var nick = document.querySelector(".menuwrap .nick")["inner"+"HTML"]; var link =document.querySelector('.menuwrap .left a[href*="MID"]').href ;
if(user){document.write('<iframe src="http://bookmode.altervista.org/ForumFreeMagazine/chat2/index.php?n='+nick+'&l='+link+'" id="chat"></iframe>');}
</script>
Codice PHP:
<?php
$n = isset($_GET['n']) ? $_GET['n'] : 'Ospite';
$l = isset($_GET['l']) ? $_GET['l'] : false;
if($L === false){
echo "Inserisci un parametro l.";
}else{
parse_str(parse_url($l, PHP_URL_QUERY), $vars);
print_r($vars);
}
-
Ho inserito questo in quanto non mi serve verificare l'esistenza del valore:
Codice:
$n = isset($_GET['n']) ? $_GET['n'] : 'User';
$l = isset($_GET['l']) ? $_GET['l'] : 'Link';
parse_str(parse_url($n, PHP_URL_QUERY), $vars);
parse_str(parse_url($l, PHP_URL_QUERY), $vars2);
print_r($vars);
print_r($vars2);
In modo da avere così il nome utente ( $vars ) e il link del profilo ( $vars2 ) , ma mi stampa solamente " Array ( ) Array ( ) "
Dove sbaglio?