Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 33

Discussione: inserimento news con form e PhpMyAdmin

  1. #1
    Guest

    Predefinito inserimento news con form e PhpMyAdmin

    Buongiorno a tutti,
    è da molto tempo che volevo inserire sul sito un pannello di controllo dove altre persone potessero inserire le news compilando un semplice form. Dopo aver fatto 2000 prove con vari script in php sono riuscito a creare quello che volevo e implementarlo con i CSS e la grafica del sito.
    Gli unici problemi che ora ho difronte sono principalmente tre:
    • il testo nella news non va a capo
    • non so come scrivere in grassetto, corsivo, ecc
    • se inserisco dei links con la dicitura "http://.." nella news viene vome testo e non come link

    Qualcuno può aiutarmi a risolvere questi problemi? Grazie in anticipo!

  2. #2
    Guest

    Predefinito

    Per il testo che non va a capo, puoi andare a capo tu oppure inserire un 'margin' al box che contiene le News postate.

    Per il grassetto, corsivo e sottolineato, se le news vengono lette come codice HTML puoi scrivere direttamente nel textarea:

    • <b>Testo</b> per il Grassetto
    • <i>Testo</i> per il Corsivo
    • <u>Testo</u> per il Sottolineato

    Stessa cosa con i link, usa il tag <a href="http://...">Testo</a>.


  3. #3
    Guest

    Predefinito

    Grazie mille habbic, per il grassetto-corsivo-sottolineato-links funziona tutto (io non ci avevo pensato ad usare i tag :D ) però rimane il problema di andare a capo.
    Se io nel box della news vado a capo poi nella news che mi mette sul sito viene tutto di seguito.. il problema si risolve anche in questo caso con il tag "<br />" però sinceramente tutti questi tag io non vorrei usarli perchè creare questo pannello di controllo dovrebbe servire proprio per far inserire le news a persone che non sanno niente di HTML, PHP o comunque dei siti web quindi non arriverei comunque al mio scopo... cosa intendi per inserire un 'margin' al box?

  4. #4
    Guest

    Predefinito

    allora quello che ti consiglio caldamente è di evitare di far inserire i tag, per un singolo motivo , fai finta che inseriscono un codice malevolo con php del tipo

    Codice PHP:

    <?

    for ($i = 1; $i <= 10000000000000000000000000000000; $i++) {

    echo
    "vai che bello questo commento hahahahah sono cattivissimo";
    }

    ?>
    oppure di recuparano le password del database e le stampano a video , oppure ti cominciano a inserire script in js che rallentano tutto il sito , e avvolte vengono riconosciuti come codice contaggiato , da alcuni antivirus, e ti bloccano la visualizzazione.

    Quello di consiglio io , e di non far inserire in automatico il codice html , perchè se nn sarebbero grossi guai , per il tuo sito.

    Ciao

  5. #5
    Guest

    Predefinito

    grazie del consiglio ma all'interno dell'area riservata dove inserire le news ci entrerebbero soltanto le persone che mi hanno incaricato di fare il sito in modo tale che tutte le volte che vogliono scrivere una news non stanno a mandarmi una email per farla inserire a me!
    Quindi queste persone sono le ultime ad essere interessate a rovinare il sito!

  6. #6
    Guest

    Predefinito

    ok , vabbene , ma fai finta che ingenuamente inseriscano un < o un > , sai cosa succederebbe? tutta il loyout ti sballerebbe , nel migliore dei casi.

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Per risolvere questo problema:
    Citazione Originalmente inviato da scacchirako Visualizza messaggio
    ok , vabbene , ma fai finta che ingenuamente inseriscano un < o un > , sai cosa succederebbe? tutta il loyout ti sballerebbe , nel migliore dei casi.
    ...e anche quello (non da poco) delle lettere accentate, suggerisco l'uso (in PHP) di htmlentities() su tutto il testo immesso...

    ...suggerisco anche di salvare in un *.txt (o dove vuoi) le date e i nick che scrivono qualcosa, in modo che se se un loro comportamento non è carino, puoi risalire facilmente all'autore...

    Ciao!

    EDIT:

    dimenticavo: per risolvere il problema di andare a capo, potresti applicare un
    Codice PHP:
    $testo = str_replace("\n",'<br />',$testo);
    Con $testo che contiene il testo vero e proprio... In questo modo tutte le "andate a capo" dovrebbero essere sostituite da un bel <br />

    Per approfindimenti: str_replace()

    Ciao!
    Ultima modifica di alemoppo : 23-04-2010 alle ore 17.28.19

  8. #8
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Scusate se mi intrometto ma sono capitato casualmente su questa pagina da Google e ne approfitto per suggerirvi due funzioni in PHP che possono tornare utilissime al caso vostro:

    » nl2br - Per gli a capo.
    » strip_tags - Per bloccare tutti i codici HTML/JavaScript/PHP eccetto determinati tag html che puoi scegliere di non cancellare.

    @pioniericasciana se non vuoi che i tuoi utenti debbano conoscere il codice HTML o PHP puoi sempre crearti una specie di BBCode oppure puoi utilizzare un editor wysiwyg tipo TinyMCE con solo alcuni controlli (come ad esempio, grassetto, corsivo, sottolineato e link) eliminando tutti gli altri pulsanti inutili.

    @alemoppo ottima soluzione per gli a capo, ma c'è nl2br che ti semplifica il tutto.
    Ultima modifica di miki92 : 23-04-2010 alle ore 17.59.51
    Apprezzi l'aiuto? Offrimi un caffè!

  9. #9
    Guest

    Predefinito

    Scusate ma di PHP so davvero poco perchè è da pochissimo che ho iniziato ad interessarmente, la funzione "nl2br" dove devo inserirla all'interno di questo script? (Il campo nel quale ho bisogno di andare a capo è "testo")
    Codice PHP:
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

    switch (
    $theType) {
    case
    "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "long":
    case
    "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case
    "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case
    "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return
    $theValue;
    }

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset(
    $_POST["MM_insert"])) && ($_POST["MM_insert"] == "nuovanews")) {
    $insertSQL = sprintf("INSERT INTO articoli (data, titolo, intro, testo) VALUES (%s, %s, %s, %s)",
    GetSQLValueString($_POST['data'], "text"),
    GetSQLValueString($_POST['titolo'], "text"),
    GetSQLValueString($_POST['intro'], "text"),
    GetSQLValueString($_POST['testo'], "text"));

    mysql_select_db($database_connessione, $connessione);
    $Result1 = mysql_query($insertSQL, $connessione) or die(mysql_error());

    $insertGoTo = "grazie.php";
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
    ?>
    Un'altra cosa.. dove posso trovare lo script per creare un semplice BBCode per eliminare tutti i problemi di grassetto, sottolineato, ecc?
    Grazie

  10. #10
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Il codice che hai postato è in fase di inserimento nel database...

    ora se vuoi andare a capo in fase di output, posta il codice che serve per stampare l'output


    poi se vuoi ti posso dare un filtro in fase di inserimento dei campi nel database...

    ciao

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  11. #11
    Guest

    Predefinito

    il codice che mi va a richiamare e che quindi stampa c'ho che ho scritto nella textarea in cui voglio che il testo vada a capo è questo:

    <?php echo $row_leggi['testo']; ?>

    non so se però è quello che intendi te...

  12. #12
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    per il BBCode, vai su :
    http://sourceforge.net/search/?type_...t&words=BBCode

    Con un editor di testo praticamente puoi fare quello che vuoi, andare a capo, saltare le righre, grassetto, corsivo, sottolineato, ecc......

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  13. #13
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Citazione Originalmente inviato da pioniericasciana Visualizza messaggio
    il codice che mi va a richiamare e che quindi stampa c'ho che ho scritto nella textarea in cui voglio che il testo vada a capo è questo:

    <?php echo $row_leggi['testo']; ?>

    non so se però è quello che intendi te...
    Per la formattazione corretta prova così:

    Codice PHP:
    <?php echo nl2br($row_leggi['testo']); ?>
    Invece per consentire solo determinati tag fai così:
    Codice PHP:
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
    // Elimina tutti i tag PHP/HTML/JavaScript tranne quelli che scelgo io.
    $theValue = strip_tags($theValue,"<strong> <b> <em> <i> <u>");

    switch (
    $theType) {
    case
    "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "long":
    case
    "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case
    "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case
    "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return
    $theValue;
    }

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset(
    $_POST["MM_insert"])) && ($_POST["MM_insert"] == "nuovanews")) {
    $insertSQL = sprintf("INSERT INTO articoli (data, titolo, intro, testo) VALUES (%s, %s, %s, %s)",
    GetSQLValueString($_POST['data'], "text"),
    GetSQLValueString($_POST['titolo'], "text"),
    GetSQLValueString($_POST['intro'], "text"),
    GetSQLValueString($_POST['testo'], "text"));

    mysql_select_db($database_connessione, $connessione);
    $Result1 = mysql_query($insertSQL, $connessione) or die(mysql_error());

    $insertGoTo = "grazie.php";
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
    ?>
    Ultima modifica di miki92 : 25-04-2010 alle ore 19.55.02
    Apprezzi l'aiuto? Offrimi un caffè!

  14. #14
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    ci ha pensato miki92.....

    se vuoi filtrare solo determinate parole,come parolaccie, dimmelo?


    ciao

    Ultima modifica di EuroSalute : 25-04-2010 alle ore 20.26.11 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  15. #15
    Guest

    Predefinito

    Ho trovato su internet un BBCode molto semplice, è composto da due file in php che poi vengono richiamati da questo script:
    Codice PHP:
    <?php
    include("bbcode.php");
    include(
    "bbcode2.php");
    echo
    "<form action='form.php' method='post' name='nomeform'>";
    textarea("prova", "Qui contenuto di default", "nomeform");
    echo
    "<input type='submit' name='send' value='Invia Form'/>";
    echo
    "</form>";
    if (
    $_POST['send']){
    $contenuto_textarea=bbcode($_POST['prova']);
    echo
    "$contenuto_textarea";
    }
    ?>
    Come faccio però a modificare la parte centrale e "dire" al codice di far valere il BBCode per la mia textarea che ho inserito con questo script?
    Codice HTML:
          <table width="60%"  border="0" align="center">
      <tr>
        <td><form name="nuovanews" id="nuovanews" method="POST" action="<?php echo $editFormAction; ?>">
          <p class="Stile20">Data della news: <br />
              <input name="data" type="text" id="data" size="50" /></p>
    		  
          <p class="Stile20">Titolo della news: <br />
              <input name="titolo" type="text" id="titolo" size="50" /></p>
    		  
          <p class="Stile20">Introduzione news: <br />
              <input name="intro" type="text" id="intro" size="90" maxlength="160" />
          </p>
    
          <p class="Stile20">Testo della news:<br />
              <textarea name="testo" cols="90" rows="10" id="testo"></textarea>
          </p>
    
              <br />
              <input name="inserisci" type="submit" id="inserisci" value="Inserisci" />
              <input name="cancella" type="reset" id="cancella" value="Cancella" />
    </p>
            <input type="hidden" name="MM_insert" value="nuovanews">
        </form></td>
      </tr>
    </table>

  16. #16
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    si dovrebbe fare così, secondo me ( ma lo fatto in fretta, non so se funziona)!!!!

    Codice PHP:
    <?php
    //includi i 2 file.php:

    include("bbcode.php");
    include(
    "bbcode2.php");

    ?>
    //procedi con l'html:


    <table width="60%" border="0" align="center">
    <tr>
    <td><form name="nuovanews" id="nuovanews" method="POST" action="<?php echo $editFormAction; ?>">
    <p class="Stile20">Data della news: <br />
    <input name="data" type="text" id="data" size="50" /></p>

    <p class="Stile20">Titolo della news: <br />
    <input name="titolo" type="text" id="titolo" size="50" /></p>

    <p class="Stile20">Introduzione news: <br />
    <input name="intro" type="text" id="intro" size="90" maxlength="160" />
    </p>

    <p class="Stile20">Testo della news:<br />

    <!--sostituisci questo campo con il la funzione(php) textarea :-->

    <? php textarea("testo", "Qui contenuto di default", "nuovanews"); ?>

    <!-- <textarea name="testo" cols="90" rows="10" id="testo"></textarea>-->

    </p>

    <br />
    <input name="inserisci" type="submit" id="inserisci" value="Inserisci" />
    <input name="cancella" type="reset" id="cancella" value="Cancella" />
    </p>
    <input type="hidden" name="MM_insert" value="nuovanews">
    </form></td>
    </tr>
    </table>

    Poi nel codice:

    Codice PHP:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "nuovanews")) {

    //metti :
    $contenuto_textarea=bbcode($_POST['testo']);

    $insertSQL = sprintf("INSERT INTO articoli (data, titolo, intro, testo) VALUES (%s, %s, %s, %s)",
    GetSQLValueString($_POST['data'], "text"),
    GetSQLValueString($_POST['titolo'], "text"),
    GetSQLValueString($_POST['intro'], "text"),
    //metti:
    GetSQLValueString($contenuto_textarea, "text"));
    //GetSQLValueString($_POST['testo'], "text"));
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  17. #17
    Guest

    Predefinito

    Purtroppo non funziona, mi dà l'errore di sintassi alla riga che contiene

    <? php textarea("testo", "Qui contenuto di default", "nuovanews"); ?>

    Grazie comunque per la pazienza!

  18. #18
    Guest

    Predefinito

    prova a levare lo spazio da <? php e vedi se scompare

    ciao

  19. #19
    Guest

    Predefinito

    adesso mi dà l'errore in una riga dove ho solo il tag di apertura per lo script php "<?php"...

  20. #20
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    non so dove hai preso quei file("bbcode.php" e "bbcode2.php"), perchè sono errati, hanno errori di sintassi e altro..

    comunque io li ho fatti funzionare(modificandoli ovviamente), e come prova--> guarda questa pagina di esempio:

    http://eurosalute.altervista.org/too..._form_mail.php

    se vuoi ti posto il codice corretto dei 2 file in questione

    ahhh dimenticavo--> prova a mandarmi un messaggio utilizzando il BBcode--> e vedrai che stampa tutto correttamente
    Ultima modifica di EuroSalute : 27-04-2010 alle ore 17.39.36 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  21. #21
    Guest

    Predefinito

    Hai ragione, il tuo script funziona correttamente. I file gli ho presi cercando in giro per il web comunque ti sarei molto grato se potessi darmeli corretti.
    Il problema ora però è che nella pagina dove ho la textarea e dove ho modificato lo script come mi hai suggerito mi dà l'errore nella riga dove ho solo il tag di apertura del php per inserire tutte le info per il database.

  22. #22
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    guarda bene i codici di ogni file

    file bbcode.php:
    Codice PHP:
    <?php
    //CODE BY MATTEOIAMMA – WWW.MATTEOIAMMARRONE.COM
    //MODIFICATO DA EUROSALUTE - eurosalute@altervista.org

    function bbcode($var){

    $bbcodevar = array(
    "/\[b\](.*?)\[\/b\]/is" => "<strong>$1</strong>",
    "/\[i\](.*?)\[\/i\]/is" => "<em>$1</em>",
    "/\[u\](.*?)\[\/u\]/is" => "<u>$1</u>",
    "/\[img\](.*?)\[\/img\]/is" => "<img src='$1' />",
    "/\[url\](.*?)\[\/url\]/is" => "<a href='$1'>$1</a>",
    "/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1'>$2</a>",
    "/\[quote\](.*?)\[\/quote\]/is" => "<div class='forum_quote'>$1</div>",
    "/\[youtube\](.*?)\[\/youtube\]/is" => "<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>",
    "/\[code\](.*?)\[\/code\]/is" => "<div class='forum_code'>$1</div>",
    "/\[marquee\](.*?)\[\/marquee\]/is" => "<marquee>$1</marquee>"
    );

    $count = 0;
    $var = preg_replace (array_keys($bbcodevar), array_values($bbcodevar), $var, -1, $count);
    if (!
    $var) echo "<br>Errore BBcode<br>";
    //$var = preg_replace (array_keys($bbcodevar), array_values($bbcodevar), $var);

    //end SISTEMA BBCODE

    //SISTEMA SMILE
    $sel_smile = opendir("smiles");
    while(
    $smile=readdir($sel_smile))
    {
    $smile_value = str_replace(".gif", "", $smile);
    $var_nw = str_replace($smile_value, "<img src='smiles/$smile'/>", $var);
    }
    if (!
    $var_nw) echo "<br>Errore Smile(BBcode)<br>";
    //end SYSTEMA SMILE

    return $var_nw;
    //return $var;
    }
    //}

    ?>

    file bbcode2.php:
    Codice PHP:
    <?php


    function textarea($name, $value, $form){

    ?>

    <center>

    Basic:

    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[b][/b]'">Grassetto</a>



    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[u][/u]'" >Sottolineato</a>



    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[i][/i]'" >Corsivo</a>



    <p></p></center>

    <?php

    echo "<textarea name='$name' rows='8' cols='40' id='$name'>$value</textarea>";

    ?>

    <p></p>

    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[img][/img]'"><b>IMMAGINE</b></a>

    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[url=quiurl]quitesto[/url]'"><b>URL</b></a>

    <a Onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[youtube][/youtube]'">YouTube Video</a>

    <?php

    echo "<p></p>";

    $smile_op = opendir("smiles");

    while(
    $smile=readdir($smile_op)){

    if (
    substr_count($smile,".gif")){
    ?>

    <a onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[img]smiles/<?php echo $smile;?>[/img]'">
    <img src="smiles/<?php echo $smile;?>"/></a>

    <?php
    }//end substr_count

    }// end while

    ?>

    <p></p>

    <div class="code">

    <a onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[code][/code]'" >CODE</a></div>

    <div class="code"><a onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[quote][/quote]'" >QUOTE</a></div>

    <div class="code"><a onclick="document.<?php echo $form; ?>.<?php echo $name; ?>.value+='[marquee][/marquee]'" >MARQUEE</a></div>

    <?php

    }
    ?>

    file prova_form_mail.php:
    Codice PHP:
    <?php

    include("bbcode.php");
    include(
    "bbcode2.php");

    if (
    count($_POST))//invio email solo se $_POST è diverso da zero o è settato
    {

    //CONTROLLO HACKERS
    //foreach(array('email','note') as $key) {$_POST[$key] = strip_tags($_POST[$key]);}

    if(!is_secure($_POST)) {
    $subject = "Hack Attept via Contact Form!";
    $body = " - Indirizzo IP: ".getenv("REMOTE_ADDR")."
    - Agent: "
    .getenv("HTTP_USER_AGENT")."";
    //QUI INSERISCI LA TUA EMAIL
    $emailto = "eurosalute@altervista.org";
    $headers = "From: $emailto";
    //AVVERTI TE STESSO DELL'ATTACCO:
    @mail($emailto, $subject, $body, $headers);
    die(
    "<br><br><font color=\"red\"><b>Asta la vista Hacker!</b></font><br><br>");
    }
    //end CONTROLLO HACKERS

    $validate_email = true;
    $filter_email = "/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/";

    $contenuto_textarea = bbcode($_POST[note]);

    if (!
    preg_match($filter_email, $_POST[email])) {
    echo (
    "<font color=\"red\"><b>Indirizzo email non valido!</b></font><br>");
    $validate_email = false;
    }

    if (empty(
    $contenuto_textarea)) {
    echo (
    "<font color=\"red\"><b>Non hai scritto alcun messaggio!</b></font><br>");
    $validate_email = false;
    }

    if (
    $validate_email)
    {

    //L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "eurosalute@altervista.org";//, ***@***.it";

    //IL SOGGETTO DELLA MAIL
    $subject = "Messaggio da $_POST[email]";

    //CORPO DEL MESSAGGIO
    //metti come commento il seguente $body:
    //$body .= "\nMessaggio:\n__________\n" . @filter_var($_POST['note'], FILTER_SANITIZE_STRING);
    //metti questo come $body:
    $body = "\nMessaggio:\n__________\n".stripslashes($contenuto_textarea)."\n\nFrom: ".stripslashes($_POST[email])."\n__________\nFine Messaggio.";


    //INTESTAZIONI SUPPLEMENTARI
    $headers = "From: $_POST[email]";


    //INVIO
    if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO È ANDATO A BUON FINE...
    echo "E-mail inviata con successo!<br><br>";
    //stampo il messaggio inviato:
    echo nl2br("<font color=\"\">$body</font><br><br>");

    } else {
    // ALTRIMENTI...
    echo "Si sono verificati dei problemi nell'invio della mail, riprova pù tardi.<br><br>";
    //echo "<meta http-equiv=\"refresh\" content=\"5;url=/private/mediabssp.html\" />";
    }

    }
    //end if $validate_email

    }//end if (count($_POST)

    //# NON CAMBIARE NIENTE QUI SOTTO:

    function is_secure($ar) {
    $reg = "/(Content-Type|Bcc|MIME-Version|Content-Transfer-Encoding)/i";

    if(!
    is_array($ar)) {return preg_match($reg,$ar);}

    $incoming = array_values_recursive($ar);
    foreach(
    $incoming as $k=>$v) if(preg_match($reg,$v)) return false;
    return
    true;
    }

    function
    array_values_recursive($array) {
    $arrayValues = array();
    foreach (
    $array as $key=>$value) {

    if (
    is_scalar($value) || is_resource($value)) {
    $arrayValues[] = $value;
    $arrayValues[] = $key;
    }
    elseif (
    is_array($value)) {
    $arrayValues[] = $key;
    $arrayValues = array_merge($arrayValues, array_values_recursive($value));
    }

    }
    return
    $arrayValues;
    }


    ?>
    <br>
    <form action="prova_form_mail.php" method="POST" name="provaform">
    <table border="0">
    <tr>
    <td valign="top"><font size="2" color="">*Tuo Indirizzo email:</font></td>
    <td>
    <input size="40" name="email" maxlength="45">
    </td>

    <tr>
    <td valign="top"><font size="2" color="">*Messaggio da inviare:</font></td>
    <td>
    <?php textarea("note", "", "provaform");?>
    <!--<textarea rows="10" name="note" cols="40"></textarea>-->
    </td>
    </tr>

    <tr>
    <td colspan="2" valign="bottom" align="center" height="30">
    <!-- qui ho aggiunto name="send" per if ($_POST['send'])-->
    <input type="submit" value="Invia" name="send">
    <input type="reset" value="Cancella"></td>
    </tr>
    </table>
    </form>
    Ultima modifica di EuroSalute : 27-04-2010 alle ore 18.39.06 Motivo: modifica tabulazioni [PHP]
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  23. #23
    Guest

    Predefinito

    Ho fatto copia/incolla di entrambi i file di bbcode (almeno in questo spero di non essere così duro). Ti posto tutta la pagina che mi dà problemi, ovvero quella dove ho il pannello di amministrazione per inserire le news (ho tolto parte dell'html per scorciare la lunghezza)
    Codice PHP:
    <?php include("bbcode.php");
    include(
    "bbcode2.php"); ?>
    <?php
    require_once('connessione.php'); ?>
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

    switch (
    $theType) {
    case
    "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "long":
    case
    "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case
    "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case
    "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case
    "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return
    $theValue;
    }

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset(
    $_POST["MM_insert"])) && ($_POST["MM_insert"] == "nuovanews")) {

    $contenuto_textarea=bbcode($_POST['testo']);

    $insertSQL = sprintf("INSERT INTO articoli (data, titolo, intro, testo) VALUES (%s, %s, %s, %s)",
    GetSQLValueString($_POST['data'], "text"),
    GetSQLValueString($_POST['titolo'], "text"),
    GetSQLValueString($_POST['intro'], "text"),
    GetSQLValueString($contenuto_textarea, "text"));

    mysql_select_db($database_connessione, $connessione);
    $Result1 = mysql_query($insertSQL, $connessione) or die(mysql_error());

    $insertGoTo = "grazie.php";
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>prova bbcode</title>
    </head>

    <body>
    <table align="center" width="826" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="826" bgcolor="#FFFFFF"><p class="titolo">PANNELLO DI CONTROLLO INSERIMENTO NEWS</p>

    <p class="Stile20">
    <table width="60%" border="0" align="center">
    <tr>
    <td><form name="nuovanews" id="nuovanews" method="POST" action="<?php echo $editFormAction; ?>">
    <p class="Stile20">Data della news: <br />
    <input name="data" type="text" id="data" size="50" /></p>

    <p class="Stile20">Titolo della news: <br />
    <input name="titolo" type="text" id="titolo" size="50" /></p>

    <p class="Stile20">Introduzione news: <br />
    <input name="intro" type="text" id="intro" size="90" maxlength="160" />
    </p>

    <p class="Stile20">Testo della news:<br />
    <?php textarea("testo", "", "nuovanews"); ?>
    </p>

    <br />
    <input name="inserisci" type="submit" id="inserisci" value="Inserisci" />
    <input name="cancella" type="reset" id="cancella" value="Cancella" />
    </p>
    <input type="hidden" name="MM_insert" value="nuovanews">
    </form></td>
    </tr>
    </table>
    </p>
    <p class="Stile32">&nbsp;</p> </td>
    </tr>
    </table>
    </body>
    </html>
    Il messaggio di errore che adesso visualizzo accedendo alla pagina è:

    Fatal error: main() [function.require]: Failed opening required 'connessione.php' (include_path='.:') in /membri/pioniericasciana/bbcode/scrivi.php on line 3

    quindi ora mi menziona anche il file per la connessione al database (ma cosa c'entra?!?!). Scusa veramente se ti stresso ma ormai è da tanto che ci sto dietro e mi dispiacerebbe buttare il lavoro di questi giorni (che per altro stai facendo tu)

  24. #24
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Prova a fare così:

    Codice PHP:

    <?php

    require_once('connessione.php');
    include(
    "bbcode.php");
    include(
    "bbcode2.php");

    function
    GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

    switch (
    $theType) {
    case
    "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;



    ecc....
    |
    |
    |
    |
    |
    |
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  25. #25
    Guest

    Predefinito

    niente... stesso errore di prima

    Fatal error: main() [function.require]: Failed opening required 'connessione.php' (include_path='.:') in /membri/pioniericasciana/bbcode/scrivi.php on line 3

  26. #26
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    prova allora a usare invece di require_once , usare solo require...

    Poi prova ad abilitare il php5....se non è abilitato....

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  27. #27
    Guest

    Predefinito

    Ho provato solo a cambiare la riga dove c'è il richiamo al database e ora funziona... però quando vado ad inserire la news mi vengono questi due errori:

    Errore BBcode

    Errore Smile(BBcode)
    Column 'testo' cannot be null


    Per quanto riguarda gli smiles credo di aver fatto tutto bene perchè ho creato una cartella che ho chiamato "smiles" e infatti nel pannello di amm. vengono visualizzati correttamente.

  28. #28
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    nel file bbcode.php:

    Codice PHP:
    sostituisci:
    $var = preg_replace (array_keys($bbcodevar), array_values($bbcodevar), $var, -1, $count);//php5

    con:
    $var = preg_replace (array_keys($bbcodevar), array_values($bbcodevar), $var); //php4 e 5
    ti da questo errore perchè la variabile $var è vuota o nulla.
    Ultima modifica di EuroSalute : 28-04-2010 alle ore 15.21.19 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  29. #29
    Guest

    Predefinito

    Nuovo script, nuovo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'http://www.pioniericascianaterme.com'>Pionieri Casciana Terme

    Mi sa che al PHP non sto troppo simpatico

    L'errore viene generato solo quando inserisco un link oppure un immagine (con i rispettivi BBCode)
    Ultima modifica di pioniericasciana : 28-04-2010 alle ore 21.24.25 Motivo: aggiunta info

  30. #30
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    nel file bbcode.php, hai il seguente codice:
    Codice PHP:
    $bbcodevar = array(
    "/\[b\](.*?)\[\/b\]/is" => "<strong>$1</strong>",
    "/\[i\](.*?)\[\/i\]/is" => "<em>$1</em>",
    "/\[u\](.*?)\[\/u\]/is" => "<u>$1</u>",
    "/\[img\](.*?)\[\/img\]/is" => "<img src=$1 />",
    "/\[url\](.*?)\[\/url\]/is" => "<a href=$1>$1</a>",
    "/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href=$1>$2</a>",
    "/\[quote\](.*?)\[\/quote\]/is" => "<div class=forum_quote>$1</div>",
    "/\[youtube\](.*?)\[\/youtube\]/is" => '<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>',
    "/\[code\](.*?)\[\/code\]/is" => "<div class=forum_code>$1</div>",
    "/\[marquee\](.*?)\[\/marquee\]/is" => "<marquee>$1</marquee>"
    );
    come ho fatto io, togli le virgolette da url <a href=$1>$1</a> e img <img src=$1 />, oppure inverti le virgolette, come ho fatto qui:
    Codice PHP:
    '<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>'
    prova
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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