Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    abilitare il php nel campo di una tabella di mysql

    il titolo non è molto chiaro

    ho messo delle pagine php nel database per renderle modificabili con un script anche da chi non ha accesso al database mysql

    mi funziona tutto, ma "non legge" il php


    non so se mi sono spiegato :master:

  2. #2

  3. #3
    ehehehe

    adesso ho capito qualcosa in più ma non so come risolverlo


    sto lavorando con un CMS

    ho memorizato delle pagine in php in campo del database perchè mi serviva poterle modifcare senza intervenire sul databese stesso, mi sono creato un modulo per farlo e funziona tutto

    poi ho creato un file view.php per visualazzerle con un GET dell'id e funziona


    i vari include ecc. in php funzionano perchè banner blocchi e footer ecc si vedono

    però la query no


    in più ho dovuto inserire questo replace nel testo della pagina:

    $testo = str_replace("'", "\'", $testo);

    altrimenti nn scriveva nel db


    poi mi sono accorto di un problema, ma non so se è quello determinante


    questa è la parte di codice originale
    codice:
    $sql= "SELECT id, nome, nick,msn, grado, arma, descrizione, foto FROM ".$db->prefix("imm_membri")." ";
    
    $result = $db->query($sql); 
    
    if (!$result) {
    	print " errore del cazzo";
    	}
    
    while($raw = mysql_fetch_array($result)) {
     
    echo"
    	<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" width=\"500\">
    <tr><td width=\"64%\"><font size=\"+1\">".$raw["nome"]."</font></td> <td width=\"36%\"></td></tr>
    
    <tr> <td>    <table width=\"305\" border=\"0\">
            <tr><td width=\"297\">Nick: ".$raw["nick"]."</td></tr>
    		<tr><td>MSN: ".$raw["msn"]."</td></tr>
    		<tr><td>Grado: ".$raw["grado"]."</td></tr>
    		<tr><td>Arma preferita: ".$raw["arma"]."</td></tr></table>     </td> <td width=\"36\%\" height=\"100%\"><img src=\"".$raw["foto"]."\" width=\"100\" height=\"100%\" ></td> </tr>
    <tr> <td class=\"f1\" height=\"10\"><div align=\"justify\"> ".$raw["descrizione"]."</div></td></tr>
    </table> 
    
     "; }
    
    ?>
    questo invece è quello che viene scritto nel databse
    codice:
    <?php 
    
    
    $sql= "SELECT id, nome, nick,msn, grado, arma, descrizione, foto FROM ".$db->prefix("imm_membri")." ";
    
    $result = $db->query($sql); 
    
    if (!$result) {
    	print " errore";
    	}
    
    while($raw = mysql_fetch_array($result)) {
     
    echo"
    	<table border="0" cellpadding="1" cellspacing="1" width="500">
    <tr><td width="64%"><font size="+1">".$raw["nome"]."</font></td> <td width="36%"></td></tr>
    
    <tr> <td>    <table width="305" border="0">
            <tr><td width="297">Nick: ".$raw["nick"]."</td></tr>
    		<tr><td>MSN: ".$raw["msn"]."</td></tr>
    		<tr><td>Grado: ".$raw["grado"]."</td></tr>
    		<tr><td>Arma preferita: ".$raw["arma"]."</td></tr></table>     </td> <td width="36\%" height="100%">[img][/img]</td> </tr>
    <tr> <td class="f1" height="10"><div align="justify"> ".$raw["descrizione"]."</div></td></tr>
    </table> 
    
     "; }
    
    ?>

    spariscono tutti i backslash dentro echo :-(


    nell'immagine allegata c'è quello che mi viene fuori
    Immagini allegate Immagini allegate

  4. #4
    perche' quello che estrai viene considerato una stringa e non viene passato al parser. Dovresti usare eval() per farlo e con le dovute cautele sul contenuto...

    http://it2.php.net/manual/it/function.eval.php


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    grazie, mada li non riesco a capire cosa devo fare qualcuno può spiegarmelo?

  6. #6
    up

  7. #7
    Originariamente inviato da strakkino
    grazie, mada li non riesco a capire cosa devo fare qualcuno può spiegarmelo?
    Come dice il manuale.

    La stringa deve essere codice php funzionante. La estrai come al solito e la passi ad eval() che provvedera' ad eseguirla. In altre parole eval dice a php che quella NON e' una stringa ascii, ma codice da eseguire. Ovviamente il codice deve essere eseguibile senza errori.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    il codice funzione perchè in una pagina normale funziona, non ho capito la sintassi di eval()

    io ho il codice in una variabile $testo

    se faccio eval($testo) mi da errore :master:

  9. #9
    cosi eval("\testo = \"$testo\";");


    mi fa la stessa cosa dell'inizio

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da strakkino
    cosi eval("\testo = \"$testo\";");
    mi fa la stessa cosa dell'inizio
    Qui trovi un esempio dell'uso di eval()

    http://freephp.html.it/articoli/view...sp?id=67&pag=3

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.