Visualizzazione risultati 1 fino 8 di 8

Discussione: problema generazione contenuti dinamici in pagina php

  1. #1
    zulukwebsite non è connesso Utente attivo
    Data registrazione
    16-07-2006
    Messaggi
    290

    Predefinito problema generazione contenuti dinamici in pagina php

    Salve a tutti!!...ho un piccolo problema su una cosa ....anche se da descrivere è lungo credo che il rpoblma sia molto stupido.

    sto creando delle pagine in modo dinamico per questo ho creato una classe che genera l'hatml automaticamente di nome htmlgenerator

    ora in questa classe ho questo metodo:

    Codice PHP:
    public function emitTopMenuBar($in_highLightThisMenuItem)
    {
    //la barra del menù in alto si trova dentro una tabella

    echo <<<TOPMENU

    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
    <tr align="center">
    <td width="20%"><a href="#">home</a></td>
    <td width="20%"><a href="http://localhost/progettiphp/interfaccia%20utente/driver.php?page=aboutme">about me </a></td>
    <td width="20%"><a href="#">contact</a></td>
    <td width="20%"><a href="#">credit</a></td>
    </tr>
    <tr align="center">
    <td width="20%" height="30"></td>
    <td width="20%"></td>
    <td width="20%"></td>
    <td width="20%"></td>
    </tr>
    </table>
    TOPMENU;
    }
    che genera il menù del layout...alla voce aboutme c'è questo indirizzo:

    Codice:
    a href="http://localhost/progettiphp/interfaccia utente/driver.php?page=aboutme
    che chiama quest'altro script con relativa connessione al database:

    Codice PHP:
    <?php
    $conn
    = @new mysqli('localhost','user', 'pass',
    'interfacciautente');
    if (
    mysqli_connect_errno() != 0)
    {
    $errno = mysqli_connect_errno();//numero dell'errore'
    $errmsg = mysqli_connect_error();//messaggio d'errore'
    echo "Connect Failed with: ($errno) $errmsg<br/>\n";
    exit;
    }


    $q_str = <<<EOQ
    SELECT page_title, page_content FROM interfaccia
    WHERE page_name =
    {$_POST['page']}

    EOQ;
    $result= $conn->query($q_str);
    if(
    $result !== FALSE)
    {
    $row_data = $result->fetch_assoc();
    $page_title = $row_data['page_title'];
    $page_content = $row_data['page_content'];
    }

    require_once(
    'HtmlGenerator.inc');

    $page = new HtmlGenerator($page_title);

    $page->emitTopMenuBar("Create account");

    $page->openPageBody();
    $page->emitLeftAdBar();
    $page->openPageContent();

    echo
    $page_content;

    $page->closePageContent();
    $page->closePageBody();
    $page->emitCopyrightBar();
    $page->closePage();

    ?>
    il problema è che quando chiamo questo script non riesco a catturare nella query sql il parametro page dell' url .....il problema dovrebbe essere solo questo....infatti i contenuti del database vengono inseriti se, al posto di{$_POST['page']} ,scrivo aboutme che è appunto il contenuto della cella page_name

  2. #2
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    a prima vista direi che sbagli il modo per recuperare il valore di page.

    Stando a quanto hai scritto la variabile page viene passata in modo "GET" e non "POST", quindi direi di sostiruire la riga :
    Codice PHP:
    SELECT page_title, page_content FROM interfaccia
    WHERE page_name
    = {$_POST['page']}
    con
    Codice PHP:
    SELECT page_title, page_content FROM interfaccia
    WHERE page_name
    = {$_GET['page']}
    oppure con
    Codice PHP:
    SELECT page_title, page_content FROM interfaccia
    WHERE page_name
    = {$_REQUEST['page']}
    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  3. #3
    zulukwebsite non è connesso Utente attivo
    Data registrazione
    16-07-2006
    Messaggi
    290

    Predefinito

    avevo già provato...a dire il vero al primo tentativo avevo messo $_GET post l'ho messo alla fine per disperazione :( ...... cmq ho provato anche con $_REQUEST ma nn va ...mi ci sto scervellando...grazie cmq :(

    EDIT... poi nn riesco proprio a capire perchè se nella query scrivo.... WHERE page_name = 'aboutme' allora la query va a buon fine...è una cosa stranissima
    Ultima modifica di zulukwebsite : 21-05-2008 alle ore 23.35.24

  4. #4
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    il fatto che tu scriva WHERE='aboutme' è normale che funzioni, visto che non gli stai passando una stringa vuota ma bensì ina stringa conosciuta (non so se mi sono spiegato, praticamente gli passi un valore costante).

    Altra cosa che vedo nella tua query è la mancanza degli apici che dovrebbero racchiudere quanto passato nella variabile visto che page_name sembrerebbe un campo di tipo varchar.

    perchè non provi a mettere un
    Codice PHP:
    echo $q_str."<BR />";
    prima di
    Codice PHP:
    $result= $conn->query($q_str);
    in modo da vedere se la stringa slq è composta correttamente?

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  5. #5
    zulukwebsite non è connesso Utente attivo
    Data registrazione
    16-07-2006
    Messaggi
    290

    Predefinito

    la query viene stampata giusta ...ovvero questo è il risultato:

    SELECT page_title, page_content FROM interfaccia WHERE page_name = aboutme

    cioè il parametro viene preso correttamente....io nn riesco proprio a capire..... è irreale sta cosa
    Ultima modifica di zulukwebsite : 22-05-2008 alle ore 00.43.03

  6. #6
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Citazione Originalmente inviato da zulukwebsite Visualizza messaggio
    SELECT page_title, page_content FROM interfaccia WHERE page_name = aboutme
    non direi che sia giusta.
    Non dovrebbe essere così ?
    Codice:
    SELECT page_title, page_content FROM interfaccia WHERE page_name = 'aboutme'
    Come accennavo prima....mi sembra che manchino gli apici

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  7. #7
    zulukwebsite non è connesso Utente attivo
    Data registrazione
    16-07-2006
    Messaggi
    290

    Predefinito

    ma te guarda ...grazie ora va... mezza giornata per sta cosa ...e me lo avevi anche detto prima...il bello è che gli apici li mettevo quando facevo la prova col valore messo direttamente da me....grazie mille b.notte ;)

  8. #8
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    di nulla

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •