Visualizzazione risultati 1 fino 5 di 5

Discussione: Ancora problemi con la bacheca

  1. #1
    Guest

    Predefinito Ancora problemi con la bacheca

    Salve a tutti, ho ancora dei problemi con la mia bacheca.
    Intanto posto il codice:
    azione.php (il motore):
    Codice PHP:
    <?php
    $filename
    ="bacheca.html";
    if (
    $_POST['nasc'] == 'y') {
    $nome=trim($_POST['nick']);
    $nome=htmlentities($nome, ENT_QUOTES);
    $testo2=trim($_POST['testo']);
    $testo2=htmlentities($testo2, ENT_QUOTES);
    $email=trim($_POST['email']);
    $opzione=$_POST['opzione'];
    if (
    $nome="" OR $email="" OR $sito="" OR $testo2="" OR $opzione="") {
    echo
    "Devi riempire tutti i campi!";
    }
    else {
    if(
    $opzione == "si") {
    $sito = trim($_POST['sito']);
    }
    else {
    $sito="no";
    }
    if (
    $sito=="no") {
    $testo="$nome,<a href=\"mailto:$email\">e-mail</a> ha scritto:<br>$testo2<br>";
    }
    else {
    $testo="$nome,<a href=\"mailto:$email\">e-mail</a>,<a href=\"$sito\">sito web</a> ha scritto:<br>$testo2<br>";
    }

    function
    bbcode($testo) {

    $cerca_codice= array(
    '/\[b\](.*?)\[\/b\]/is',
    '/\[i\](.*?)\[\/i\]/is',
    '/\[u\](.*?)\[\/u\]/is',
    '/\[url\](.*?)\[\/url\]/is',
    '/\[img\](.*?)\[\/img\]/is',
    '/\[url\=(.*?)\](.*?)\[\/url\]/is'
    );

    $sostituisci_codice = array(
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<u>$1</u>',
    '<a href=$1 target=blank>$1</a>',
    '<img src=\'$1\' />',
    '<a href=$1 target=blank>$2</a>',
    );

    $testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);

    return
    $testo;
    }
    $testo=bbcode($testo);
    /***emoticons & codice ***/
    $url=array("<img src=\"http://hackerforum.devil.it/images/smiles/sc_biggrin.gif\">","<img src=\"http://hackerforum.devil.it/images/smiles/sc_sad.gif\">","<img src=\"http://hackerforum.devil.it/images/smiles/sc_redface.gif\">","<img src=\"http://hackerforum.devil.it/images/smiles/sc_wink.gif\">","<div class=\"codice\">","</div>","\n</div>\n</body>\n</html>");
    $testo=str_replace(':D',$url[0], $testo);
    $testo=str_replace(':(',$url[1], $testo);
    $testo=str_replace(':oops:',$url[2], $testo);
    $testo=str_replace(';)',$url[3], $testo);

    $testo=str_replace('[code]',$url[4], $testo);
    $testo=str_replace('[/code]',$url[5], $testo);

    $fp=fopen($filename, 'a+');
    $fr=fread($fp, filesize($filename));
    str_replace('</div>','',$fr);
    str_replace('</body>','',$fr);
    str_replace('</html>','',$fr);
    fwrite($fp, $testo.$url[6]);
    fclose($fp);
    echo
    "<script type=\"text/javascript\">\n";
    echo
    "location.href='bacheca.html';\n";
    echo
    "</script>";
    }
    }
    else {
    ?>
    <html>
    <head>
    <title>Scrivi</title>
    <style>
    .container {
    width: 80%;
    margin: 0 auto auto;
    }
    .col {
    float: left;
    width: 50%;
    }
    .img {
    cursor: pointer;
    }
    </style>
    </head>
    <body><div class="container"><div class="col">
    <form name="form" action="azione.php" method="post">
    <input type="hidden" value="y" name="nasc">
    Nickname: <input type="text" name="nick"><br>
    E-mail: <input type="text" name="email" id="email"><br>
    Sito web: si <input type="radio" name="opzione" value="si" onclick="document.getElementById ('indirizzo_box').style.display = 'block'" /> no <input type="radio" name="opzione" value="no" onclick="document.getElementById ('indirizzo_box').style.display = 'none'" /><div id="indirizzo_box" style="display: none;"><input type="text" name="sito"></div><br>
    Inserisci il commento:<br> <textarea cols="20" name="testo" rows="10"></textarea><br>
    <input type="submit" value="invia" >&nbsp;<input type="reset" value="cancella">
    </form></div>
    <div class="col">&nbsp;</div><div class="col">
    Regole:<ul>
    <li>HTML <b>non permesso</b></li>
    <li>BBCODE <b>permesso</b></li>
    <li>EMOTICON <b>permesse</b></li><br>
    <img src="http://hackerforum.devil.it/images/smiles/sc_biggrin.gif" onclick="form.testo.value=form.testo.value+':D'" class="img">&nbsp;<img src="http://hackerforum.devil.it/images/smiles/sc_sad.gif" onclick="form.testo.value=form.testo.value+':('" class="img">&nbsp;<img src="http://hackerforum.devil.it/images/smiles/sc_redface.gif" onclick="form.testo.value=form.testo.value+':oops:'" class="img">&nbsp;<img src="http://hackerforum.devil.it/images/smiles/sc_wink.gif"onclick="form.testo.value=form.testo.value+';)'" class="img"><br>
    I tag bbcode permessi sono:<br>
    [b][/b],[i][/i],[u][/u],[code][/code],[ur][/url],[url=][/url],[img][/img]
    </ul>
    </div>
    </div>
    </body>
    </html>
    <?php
    }
    ?>
    bacheca.html:
    Codice HTML:
    <html>
    <head>
    <title>Bacheca</title>
    <style>
    .codice {
    font-family: Courier, 'Courier New', sans-serif; 
    font-size: 11px; 
    color: #FF9900;
    background-color: #FAFAFA; 
    border: #D1D7DC; 
    border-style: solid;
    border-left-width: 1px; 
    border-top-width: 1px; 
    border-right-width: 1px; 
    border-bottom-width: 1px
    }
    #contenitore {
    background-color:#EFEFEF;
    width: 500px;
    }
    </style>
    </head>
    <body>
    <a href="azione.php">Aggiungi un commento</a><br>
    Ecco la bacheca:<br><div id="contenitore">
    </div>
    </body>
    </html>
    I problemi sono questi:
    1) se scrivo ciao mi viene scritto ciao ciao
    ciao
    2) in azione.php mi da errore :
    Codice:
    Parse error: syntax error, unexpected ';' in /membri/gabryhacker/azione.php on line 60
    Come posso risolvere?

    EDIT:
    Il secondo problema è risolto: manca una parentesi al fread.
    Ultima modifica di gabryhacker : 30-08-2008 alle ore 19.56.03

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

    Predefinito

    l'ho provata e funziona perfettamente ...a parte quell'errore di chiudere la parentesi che già avevi risolto no?

  3. #3
    Guest

    Predefinito

    Si, ma ho un'altro problema.
    Ho aggionato il codice sopra, ma sembra che htmlentities non fa il suo dovere. Perchè?
    Inoltre il problema dei due ciao non è risolto
    EDIT:
    ho risolto htmlentities, ed ho aggiornato il codice sopra.
    Oltre il problema dei ciao ne è sorto un'altro.
    Vorrei sapere come posso fare a bloccare la scrittura se qualcuno inserisci codice html
    EDIT2:
    Ho aggiornato di nuovo il codice sopra.
    Non so perchè ma il controllo sui campi non va
    Inoltre non va neanche la parte del fopen er togliere </div></body></html>
    Ultima modifica di gabryhacker : 30-08-2008 alle ore 19.58.46

  4. #4
    Guest

    Predefinito

    EDIT:
    ho risolto almeno un problema, cioè quello del togliere </div></body></html> da bacheca.html ed ho risolto così:
    Codice PHP:
    <?php
    $fp
    =fopen($filename, 'a+');
    $file = file($filename);
    $div = array_pop($file);
    $body = array_pop($file);
    $html = array_pop($file);
    fwrite($fp, $header."\n".$div."\n".$body."\n".$html);
    fclose($fp);
    ?>
    Ultima modifica di gabryhacker : 01-09-2008 alle ore 09.53.29

  5. #5
    Guest

    Predefinito

    Scusate il doppio post, ma ho finito!
    Nessun problema: fila tutto liscio.
    Ho riscritto tutto il guestbook, ed ho cambiato completamente metodo.
    Posto il codice (sono diverse pagine):
    scrivi.html:
    Codice HTML:
    <html>
    <head>
    <title>Scrivi un messaggio</title>
    <script type="text/javascript">
    function nasc() {
    document.getElementById('nasc').style.display='none';
    }
    function w() {
    document.getElementById('info').style.display='block';
    document.getElementById('n').style.display='none';
    document.getElementById('b').style.display='block';
    }
    function b() {
    document.getElementById('info').style.display='none';
    document.getElementById('n').style.display='block';
    document.getElementById('b').style.display='none';
    }
    function apri() {
    window.open('pop.php','emoticons','width=300,height=200,resizable=no,fullscreen=no,toolbar=no,location=yes,scrollbars=yes,status=yes');
    }
    </script>
    <style type="text/css">
    #nasc {
    display: none;
    }
    #info {
    display: none;
    }
    #n {
    display: block;
    }
    #b {
    display: none;
    }
    </style>
    </head>
    <body link="blue" vlink="blue" alink="blue">
    <form name="scrivi" action="posting.php" method="post">
    Nome: <input type="text" name="nome"><br>
    E-mail: <input type="text" name="email"><br>
    Sito web: <input type="text" name="sito" value=""> &nbsp;&nbsp;<a href="javascript:apri()">emoticons</a><br>
    <textarea name="testo" cols="30" rows="12"></textarea><br>
    <input type="submit" value="invia">&nbsp;<input type="reset" value="cancella">
    </form>
    <a id="n" href="javascript:w()">Informazioni - importante!</a>
    <a id="b" href="javascript:b()">chiudi</a>
    <div id="info">
    html: <b>disttivato</b><br>
    bbcode: <b>attivato</b><br>
    emoticons: <b>attivate</b><br>
    Per il sito web, se non lo avete lasciate il campo vuoto, altrimenti mettete <b>sempre</b> http://vostrosito.estensione 
    </div>
    </body>
    </html>
    posting.php (il motore):
    Codice PHP:
    <?php
    $nome
    = $_POST['nome'];
    $email = $_POST['email'];
    $testo = $_POST['testo'];
    $sito = $_POST['sito'];

    $tags = array("<strong>","<em>","<u>","<a>","<img>");
    $nome = strip_tags($nome);
    for (
    $i=0;$i<=count($tags);$i++) {
    $testo = strip_tags($testo, $tags[$i]);
    }

    function
    bbcode($testo) {

    $cerca_codice= array(
    '/\[b\](.*?)\[\/b\]/is',
    '/\[i\](.*?)\[\/i\]/is',
    '/\[u\](.*?)\[\/u\]/is',
    '/\[url\](.*?)\[\/url\]/is',
    '/\[img\](.*?)\[\/img\]/is',
    '/\[url\=(.*?)\](.*?)\[\/url\]/is'
    );

    $sostituisci_codice = array(
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<u>$1</u>',
    '<a href=$1 target=blank>$1</a>',
    '<img src=\'$1\' />',
    '<a href=$1 target=blank>$2</a>',
    );

    $testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);

    return
    $testo;
    }

    $testo = bbcode($testo);

    $url = array("<img src=\"0.gif\">","<img src=\"1.gif\">","<img src=\"2.gif\">","<img src=\"3.gif\">","<div class=\"codice\">","</div>");
    $facc = array(":D",":oops:",");","(;","[code]","[/code]");
    for (
    $i=0;$i<=count($facc);$i++) {
    $testo = str_replace($facc[$i],$url[$i],$testo);
    }

    if (
    $sito == "") {
    $header = "$nome, <a href=\"mailto:$email\">e-mail</a> ha scritto:<br>";
    } else {
    $header = "$nome, <a href=\"$sito\">sito web</a>, <a href=\"mailto:$email\">e-mail</a> ha scritto:<br>";
    }
    $fp = fopen("prov.txt", "a+");
    fwrite($fp, $header.$testo."<br>");
    fclose($fp);
    header("Location: bacheca.php");
    ?>
    bacheca.php:
    Codice HTML:
    <html>
    <head>
    <title>Bacheca</title>
    <style>
    .codice {
    font-family: Courier, 'Courier New', sans-serif; 
    font-size: 11px; 
    color: #FF9900;
    background-color: #FAFAFA; 
    border: #D1D7DC; 
    border-style: solid;
    border-left-width: 1px; 
    border-top-width: 1px; 
    border-right-width: 1px; 
    border-bottom-width: 1px
    }
    #contenitore {
    background-color:#EFEFEF;
    width: 500px;
    }
    </style>
    </head>
    <body link="blue" vlink="blue" alink="blue">
    <a href="scrivi.html">Aggiungi un commento</a><br>
    Ecco la bacheca:<br><div id="contenitore">
    Codice PHP:
    <?php
    $database
    = file("prov.txt");
    $to = count($database);
    for(
    $i=0;$i<$to;$i++) {
    list(
    $line) = explode("\n",$database[$i]);
    echo
    "$line <br>";
    }
    ?>
    Codice HTML:
    </div>
    </body>
    </html>
    pop.php:
    Codice HTML:
    <html>
    <head>
    <style type="text/css">
    #divv {
    text-align: center;
    margin-top: 80px;
    }
    .img {
    cursor: pointer;
    }
    </style>
    <script type="text/javascript">
    function emoticons(str) {
    space = " ";
    window.opener.document.forms[0].testo.value = window.opener.document.forms[0].testo.value+space+str+space;
    return false;
    }
    </script>
    <title>Emoticons</title>
    </head>
    <body>
    <div id="divv">
    Codice PHP:
    <?php
    $facc
    = array(":D",":oops:",");","(;");
    for (
    $i=0;$i<4;$i++) {
    echo
    "<img class=\"img\" src=\"$i.gif\" onclick=\"emoticons('$facc[$i]')\">&nbsp;";
    }
    ?>
    Codice HTML:
    </div>
    </body>
    </html>
    Pagina di test: http://gabryhacker.altervista.org/es...vo/scrivi.html

Regole di scrittura

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