Visualizzazione risultati 1 fino 5 di 5

Discussione: Perdita di dati al passaggio della funzione bbcode

  1. #1
    Guest

    Predefinito Perdita di dati al passaggio della funzione bbcode

    Non riesco a capire come mai, i dati che invio tramite form, finché li stampo con questa sintassi
    $_POST[nome input]
    funzionano correttamente, ma appena li faccio passare all'interno della funzione bbcode quindi
    $testo=bbcode($_POST[nome input]);
    se provo a stampare la variabile $testo, questa non mi da risultato, cioè non mi scrive nulla...
    Il codice a cui mi riferisco è questo
    Codice PHP:
    if ($_POST[cmd] == FALSE)
    {
    echo
    "<form action=\"$REQUEST_URI\" method=\"post\" name=\"new\">\n";
    echo
    "<font face=\"arial\" size=\"2\">Messaggio autenticato come <strong>$username</strong></font><br><br>\n";
    echo
    "<input type=\"hidden\" name=\"autore\" value=\"$username\">\n";
    echo
    "<font face=\"arial\" size=\"2\">Titolo:</font><br>\n";
    echo
    "<input type=\"text\" name=\"titolo\"><br /><br>\n\n";
    echo
    "<font face=\"arial\" size=\"2\">Messaggio:</font><br>\n";
    include(
    "bbcode2.php");
    textarea("Nuovo", "Qui contenuto di default", "new");
    echo
    "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
    echo
    "<input type=\"submit\" value=\"Pubblica il messaggio\">\n";
    echo
    "</form>\n";
    }
    else
    {
    if (
    $_POST[titolo] == FALSE OR $_POST[autore] == FALSE OR $_POST[Nuovo] == FALSE)
    {
    echo
    "<p>Tutti i campi sono obbligatori.";
    }
    else
    {
    include(
    "bbcode.php");
    $contenuto_textarea=bbcode($_POST['Nuovo']);
    echo
    "<p>Il tuo topic è stato pubblicato.";
    $_POST[testo] = str_replace("\n", "<br>", $contenuto_textarea);
    $query = "INSERT INTO forum_lite_topics ( id , forum_id , data , autore , titolo ) VALUES ('' , '" . $_GET[f] . "' , '" . date("d/m/Y G:i") . "' , '" . $_POST[autore] . "' , '" . $_POST[titolo] . "')";
    mysql_query("$query");
    echo
    mysql_error();

    $query2 = "INSERT INTO forum_lite_thread ( id , topic_id , data , autore , titolo , testo ) VALUES ('' , '" . $_GET[t] . "' , '" . date("d/m/Y G:i") . "' , '" . $_POST[autore] . "' , '" . $_POST[titolo] . "' , '" . $_POST[testo] . "')";
    mysql_query("$query2");
    echo
    mysql_error();
    }
    }

  2. #2
    Guest

    Predefinito

    Se non funziona mettendoci bbcode() vorrà dire che il problema sta nella funzione no?

    Postala

  3. #3
    Guest

    Predefinito

    ops...
    Mene ero dimenticato
    Codice PHP:
    <?php
    function bbcode($var){

    $search = array(

    '/\[b\](.*?)\[\/b\]/is',

    '/\[i\](.*?)\[\/i\]/is',

    '/\[u\](.*?)\[\/u\]/is',

    '/\[img\](.*?)\[\/img\]/is',

    '/\[url\](.*?)\[\/url\]/is',

    '/\[url\=(.*?)\](.*?)\[\/url\]/is',

    '/\[quote\](.*?)\[\/quote\]/is',

    '/\[youtube\](.*?)\[\/youtube\]/is',

    '/\[code\](.*?)\[\/code\]/is',

    '/\[marquee\](.*?)\[\/marquee\]/is',

    );

    $replace = array(

    '<strong>$1</strong>',

    '<em>$1</em>',

    '<u>$1</u>',

    '<img src="$1" />',

    '<a href="$1">$1</a>',

    '<a href="$1">$2</a>',

    '<div class="forum_quote">$1</div>',

    '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">

    <param name="movie" value="$3" />

    <param name="quality" value="best" />

    <param name="play" value="true" />

    <embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="$1" type="application/x-shockwave-flash" quality="best" play="true"></embed>

    </object>'
    ,

    '<div class="forum_code">$1</div>',

    '<marquee>$1</marquee>',
    );
    $var = preg_replace ($search, $replace, $var);
    }
    return
    $var;
    ?>
    Il codice l'ho preso da qui e poi l'ho leggermente riadattato...

  4. #4
    Guest

    Predefinito

    Chiudi la parentesi dopo il return e dimmi se funziona

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Chiudi la parentesi dopo il return e dimmi se funziona
    Funziona
    Grazie mille

Regole di scrittura

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