Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139

    PHP incompatibilità con IE8

    Ho 3 combobox sulla pagina

    http://www.mondocasaimmobiliare.it/dove-siamo.html

    Dappertutto ho letto di problemi a carattere grafica che da IE8 ma in questo caso a me quando vado a cliccare sul CERCA AGENZIA non mi visualizza nulla.

    Premetto che funziona correttamente su IE7, FF.

    Qualcuno sa darmi qualche aiuto?

    Ciao a tutti e grazie

  2. #2
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    E' impossibile che php abbia incompatibilità con un browser;

    Nella pagina che hai postato vedo che utilizzi ajax, probabilmente è il codice javascript che dà problemi con ie8... controlla la funzione associata al bottone, e il metodo con cui inserisci il risultato nella pagina html (utilizzi il dom? innerhtml?)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    Il codice della pagine è il seguente:

    header("Content-type: application/xml");
    header("Cache-control: no-cache, must-revalidate");

    echo "<?xml version=\"1.0\"?>\n";
    echo "<categorie>\n";

    $regione = @$_POST['regione'];
    $provincia = @$_POST['provincia'];
    $comune = @$_POST['comune'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    if ($comune!="") {
    $query = "SELECT tbl_agenzie.id id, UPPER(CONVERT(tbl_agenzie.ragione_sociale using latin1)) ragione_sociale, count( * ) n_immobili FROM tbl_agenzie, tbl_immobili WHERE tbl_agenzie.regione = '$regione' AND tbl_agenzie.provincia = '$provincia' AND tbl_agenzie.comune = '$comune' AND tbl_immobili.id_agenzia = tbl_agenzie.id GROUP BY tbl_agenzie.id, tbl_agenzie.ragione_sociale";
    } else {
    $query = "SELECT tbl_agenzie.id id, UPPER(CONVERT(tbl_agenzie.ragione_sociale using latin1)) ragione_sociale, count( * ) n_immobili FROM tbl_agenzie, tbl_immobili WHERE tbl_agenzie.regione = '$regione' AND tbl_agenzie.provincia = '$provincia' AND tbl_immobili.id_agenzia = tbl_agenzie.id GROUP BY tbl_agenzie.id, tbl_agenzie.ragione_sociale";
    }
    $result = mysql_query($query, $db);

    while ($row = mysql_fetch_array($result))
    {
    echo "\t<categoria value=\"$row[id]\" n=\"$row[n_immobili] Immobili\">$row[ragione_sociale]</categoria>\n";
    }
    mysql_close($db);

    echo "</categorie>\n";
    ?>

  4. #4
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Inoltre, cliccando su una regione (io ho cliccato l'umbria) IE restituisce un altro errore:

    Codice PHP:
    Dettagli errore pagina Web

    Agente utente
    Mozilla/4.0 (compatibleMSIE 8.0Windows NT 5.1Trident/4.0; .NET CLR 2.0.50727)
    TimestampThu16 Jul 2009 08:49:47 UTC


    Messaggio
    Proprietà o metodo non supportati dall'oggetto
    Linea: 126
    Carattere: 5
    Codice: 0
    URI: [url]http://www.mondocasaimmobiliare.it/includes/frmDoveSiamo/form.php?Regione=Umbria[/url] 
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  5. #5
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da temerario
    Il codice della pagine è il seguente:

    header("Content-type: application/xml");
    header("Cache-control: no-cache, must-revalidate");

    echo "<?xml version=\"1.0\"?>\n";
    echo "<categorie>\n";

    $regione = @$_POST['regione'];
    $provincia = @$_POST['provincia'];
    $comune = @$_POST['comune'];

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    if ($comune!="") {
    $query = "SELECT tbl_agenzie.id id, UPPER(CONVERT(tbl_agenzie.ragione_sociale using latin1)) ragione_sociale, count( * ) n_immobili FROM tbl_agenzie, tbl_immobili WHERE tbl_agenzie.regione = '$regione' AND tbl_agenzie.provincia = '$provincia' AND tbl_agenzie.comune = '$comune' AND tbl_immobili.id_agenzia = tbl_agenzie.id GROUP BY tbl_agenzie.id, tbl_agenzie.ragione_sociale";
    } else {
    $query = "SELECT tbl_agenzie.id id, UPPER(CONVERT(tbl_agenzie.ragione_sociale using latin1)) ragione_sociale, count( * ) n_immobili FROM tbl_agenzie, tbl_immobili WHERE tbl_agenzie.regione = '$regione' AND tbl_agenzie.provincia = '$provincia' AND tbl_immobili.id_agenzia = tbl_agenzie.id GROUP BY tbl_agenzie.id, tbl_agenzie.ragione_sociale";
    }
    $result = mysql_query($query, $db);

    while ($row = mysql_fetch_array($result))
    {
    echo "\t<categoria value=\"$row[id]\" n=\"$row[n_immobili] Immobili\">$row[ragione_sociale]</categoria>\n";
    }
    mysql_close($db);

    echo "</categorie>\n";
    ?>
    Questo è il codice PHP, che non c'entra niente (almeno, la risposta del server mi sembra corretta a una prima occhiata), il problema secondo me è nel JAVASCRIPT
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    Il JS che carica al click del bottone è:

    function cercaAgenzie(){
    //Recupero i dati da inviare
    var provincia = document.getElementById("provincia");
    var regione = document.getElementById("regione");
    var comune = document.getElementById("comune");

    if (provincia.options[provincia.selectedIndex].value=="" || regione.options[regione.selectedIndex].value=="") {
    alert("I campi Regione e Provincia sono obbligatori!");
    return false;
    }

    //Creo un nuovo oggetto XMLHTTPRequest
    var req = newXMLHttpRequest();

    //Invio la richiesta
    req.open("POST", "listaAgenzie.php", true);
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    //Invio i dati POST
    req.send("regione=" + regione.options[regione.selectedIndex].value + "&provincia=" + provincia.options[provincia.selectedIndex].value + "&comune=" + comune.options[comune.selectedIndex].value);

    //Gestore dell'evoluzione dello stato dell'oggetto req
    req.onreadystatechange = handleResponse(req, updateLista);
    }


    ma non riesco a trovare il problema

  7. #7
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    A parer mio l'errore potrebbe essere (e credo sia così) nell'oggetto newXMLHttpRequest(). (anche perchè IE8 i menu a tendina li aggiorna correttamente)

    Se vuoi un consiglio, utilizza jquery: risolvi molte cose, ed le richieste ajax sono praticamente crossbrowser...
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    139
    essendo un codice fatto da un collega e non essendo io tanto forte con questo linguaggio... potresti aiutarmi gentilmente?

    Scusa di nuovo per il disturbo e grazie mille..

    Ciao

  9. #9
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da temerario
    essendo un codice fatto da un collega e non essendo io tanto forte con questo linguaggio... potresti aiutarmi gentilmente?

    Scusa di nuovo per il disturbo e grazie mille..

    Ciao
    1. Scarica jQuery
    2. Includilo nella pagina (<script src="..."></script>)
    3. Il codice con la richiesta ajax che utilizza jquery potrebbe essere:

    Codice PHP:
    function cercaAgenzie(){
        
    //Recupero i dati da inviare
        
    var provincia document.getElementById("provincia");
        var 
    regione document.getElementById("regione");
        var 
    comune document.getElementById("comune");

        if (
    provincia.options[provincia.selectedIndex].value=="" || regione.options[regione.selectedIndex].value=="") {
            
    alert("I campi Regione e Provincia sono obbligatori!");
            return 
    false;
        }
        
        $.
    ajax({
            
    type"POST",
            
    url'listaAgenzie.php',
            
    data: {
                    
    'regione'regione.options[regione.selectedIndex].value,
                    
    'provincia'provincia.options[provincia.selectedIndex].value,
                    
    'comune'comune.options[comune.selectedIndex].value
                
    },
            
    success: function(msg){
                
    handleResponse(requpdateLista);
                
    //un probabile candidato potrebbe essere
                //updateLista(msg);
                //ma questo deve metterlo a posto chi ha scritto tutto il resto del codice
            
    }
        });
        

    sono molto perplesso sull'ultimo punto, handleResponse(req, updateLista), perchè probabilmente handleResponse è una funzione che utilizza un altro callback (updateLista), e qui deve metterci le mani il tuo collega..
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Il problema non ha attinenza col php. Chiedi sul forum di javascript.

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.