Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 42

Discussione: Problema Variabili

  1. #1

    Problema Variabili

    Salve a tutti ho un problema in PHP, io ho un motore di ricerca con città province e regioni divise nel db. Ho preso un form da un altro sito e l'ho personalizzato:

    <form id="searchform" action = "ricerca.php">
    <div>
    What are you looking for? <input type="text" name = "ricerca" value="" id="inputString" onkeyup="lookup(this.value);" />
    <button type = "submit">Search</button>
    </div>
    <div id="suggestions"></div>
    </form>

    E' simile a Google che quando scrivi qualcosa già fornisce dei risultati in un box sottostante. Tutto funziona tranne quando scrivo ad esempio forlì, viene passata via get la variabile ricerca=forlì ma non riconosce la lettera accentata. Se invece nella barra degli indirizzi si sostituisce la lettera ì al codice corrispondente, funziona. Il fatto è che io ho già provato sia col metodo get che col post ma da sempre questo problema.
    Poi ho detto se non funziona provo a sostituire le lettere accentate coi codici facendo un refresh della pagina, ma non le riconosce eppure le stampa le lettere accentate. Qualcuno può darmi una mano?
    Grazie in anticipo
    AnDwHt

  2. #2
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    se posto il php cosi controllo

  3. #3
    In che senso? Devo postare tutto il codice php?
    AnDwHt

  4. #4
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    no quello che fa la ricerca :S

  5. #5
    E' lungo, praticamente prende dal get quello che scrivi lo divide in parole e cerca ogni parola come città su un db.
    Sintetizzato il codice è tipo questo:

    <?php
    if($_POST['for']!="")
    {
    $paro = $_POST['for'];
    $citta = mysql_query("SELECT Citta FROM Ricerca WHERE Citta='$paro'");
    $citta = mysql_fetch_object($citta)->Citta;
    echo $citta;
    if($citta==$paro) echo "si";
    }
    else
    {
    ?>
    <form action = "prova.php" method = "get">
    <input type = "text" name = "for"></input>
    <button type = "submit"></button>
    </form>
    <?php
    }
    ?>

    Questo codice funziona infatti, le lettere accentate funzionano, anche col metodo get.
    Però utilizzando quello che ho scritto prima non codifica le lettere accentate
    AnDwHt

  6. #6
    Ma la cosa strana è che guardando quello che passa dal form al motore di ricerca la variabile le contiene le lettere accentate, le visualizza, ma non codificate in modo strano.
    AnDwHt

  7. #7
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    prova con
    Codice PHP:
    htmlspecialchar 
    cioè
    Codice PHP:
    $paro htmlspecialchar($_POST['for']); 

  8. #8
    No non riconosce come funzione
    AnDwHt

  9. #9
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    scusa è
    Codice PHP:
    htmlspecialchars 
    ho mancato la "s"

  10. #10
    No non funziona, la funzione la riconosce ma non è quello il problema.
    AnDwHt

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.