Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198

    Rimpiazzare un lungo url mediante php url encode

    Supponiamo di avere il seguente codice...
    codice:
    <a
    codice:
     href="http://google.com/?id=100&month=june&day=thursday">
    E di volerlo trasformare in...
    codice:
    <a href="
    codice:
    <?php echo urlencode($daniele)?>&day=thursday">
    Così decido di inserire all'interno dell'header...
    codice:
    <?
    codice:
     php $alex ='http://google.com/?id=100&month=june'; ?>

    Teoricamente ciò dovrebbe fungere, dico bene?
    Ma mi riporta errore.
    Dove sbaglio?
    ( es. qui: https://jsbin.com/vazevejasa/edit?html,js,output )
    Ultima modifica di danielepalmas88; 01-06-2017 a 18:04

  2. #2
    Guarda a cosa serve la funziona urlencode:
    http://php.net/manual/en/function.urlencode.php

    quale è lo scopo di quello che vuoi fare?

    se vuoi solo rendere più leggibile l'url

    esempio:

    da http://esempio.com/?id=100&month=june&day=thursday
    a http://esempio.com/show/100/filer/june/thursday

    allora il discorso è diverso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Sto costruendo uno script enorme con una marea di variabili. Si basa su lingua, browser, device ecc. E ad ogni condizione corrisponde un window.open di url molto lungo.

    Poiché tale url ha una base comune a tutte le possibilità, l'unico pezzetto che cambia è il finale (che nell'esempio qui sopra ho indicato con &day=thursday)

    Per questo vorrei rendere lo script meno chilometrico, utilizzando un urlencode al quale aggiungere &day=x a seconda della variabile.

    (P.S. Nell'esempio su ho fatto un casino semplificando il codice su cui lavoravo per rendervelo più basilare da capire e quindi più facile aiutarmi: in realtà ho prima codificato l'url col nome $daniele per poi richiarmarlo con l'echo $alex, ma ovviamente avrei dovuto richiarmarlo con $daniele stesso. Ora non posso più editarlo perché è trascorso troppo tempo.)
    Ultima modifica di danielepalmas88; 01-06-2017 a 19:03

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non mi sembra che urlencode faccia quello che vuoi

    Puoi usare della variabili :
    Codice PHP:
    $valore1 '123';
    $valore2 'aaa'
    $urlSAV  "www.mio_sito/pippo.php?param1=|valore1|&param2=|valore2|";
    $url     str_replace(array('|valore1|','|valore2|'),array($valore1,$valore2),$urlSAV);
    print 
    "<a href='$url'>link</a>"


    Se hai un solo valore che varia.
    Codice PHP:
    $url     str_replace('|valore1|'),$valore1,$urlSAV); 
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Scusa ma perche non salvi i dati che passi in sessione invece di mandarli tra una pagina e l'altra come query string dell'url?
    accodi all'url solamente il dato che cambia.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Grazie per la dritta @badaze, sto studiando se valga la pena utilizzare questo metodo o meno (che probabilmente è fin troppo complesso per quello che in realtà serve me).

    @bauleviaggiante in concreto (in codice) cosa intendi? Ho solo bisogno di trasformare un lungo url predefinito in un qualcosa di molto corto [potrei ad esempio racchiuderlo in un bit.ly short url per farti capire meglio, ma in questo caso non posso, perché la variabile &day=x non attaccherebbe - bit.ly/fshjgfhj&day=thursday non fungerebbe, ovviamente]

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Premesso che ho già definito delle variabili...quindi ecco più nel concreto cosa vorrei fare...

    codice:
    <? php $url  = "www.mio_sito/pippo.php?giorno="; ?>
    
    <script>function ApriUrl() {
    
    if ((italian || french || german) && (!android && !blackberry && !iphone))
    
    { window.open('<?php echo $url ?>'+(
    
    (italian && 'giovedi') || (french && 'venerdi') || (german && 'sabato') ));}
    
    else if ((italian || french || german) && (android || blackberry || iphone))
    
    { window.open('<?php echo $url ?>'+(
    
    (italian && 'domenica') || (french && 'lunedi') || (german && 'martedi') ));}
    
    else if ((!italian && !french && !german) && (android || blackberry || iphone))
    
    {window.open('<?php echo $url ?>mercoledi');}
    
    else {window.open('<?php echo $url ?>giornogenerico');}
    }</script>
    Ok in questo caso non sto racchiudendo i giorni della settimana in ulteriori variabili, ma mi preme soprattutto eseguire il mio intento principale, ovvero racchiudere quell'url lunghissimo di cui parlo, in una sola parola $url

  8. #8
    Quote Originariamente inviata da danielepalmas88 Visualizza il messaggio
    @bauleviaggiante in concreto (in codice) cosa intendi? Ho solo bisogno di trasformare un lungo url predefinito in un qualcosa di molto corto [potrei ad esempio racchiuderlo in un bit.ly short url per farti capire meglio, ma in questo caso non posso, perché la variabile &day=x non attaccherebbe - bit.ly/fshjgfhj&day=thursday non fungerebbe, ovviamente]
    Intendo dire che se quello che stai cercando di accorciare riamane sempre uguale inveche che passarlo tra una pagina e l'altra lo conservi lato server con la sessione.

    da dove derivano i dati che passi con questo url?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Derivano da custom fields in un blog wordpress. Ogni post ha un sacco di custom fields. Tali dati li richiamo nel lungo link di cui parlo.

    codice:
    http://sitodestinazione.com/?valore1=<?php echo get_post_meta($post->ID, 'valore1', true); ?>&valore2=<?php echo get_post_meta($post->ID, 'valore2', true); ?>&valore2=ecc...
    Nello script enorme che sto costruendo, tutta questa parte iniziale di url che ho accennato poco sopra, è comune a tutte le possibilità, fino a quando, appunto, devo arrivare al valore12 (supposto in giorni della settimana negli esempi di sopra) che però devo imettere di mio, non avendo esso nulla a che vedere con i meta dati dei post.

    Per questo mi serve un metodo per racchiudere gran parte di tale url in una sola parola $url

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Enorme quanto ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.