• User

    Passagio dati da form a php e viceversa

    Sto realizzando una pagina con un form per l'inserimento di alcuni dati all'interno di un dbmysql. Il problema che mi si pone è il seguente: quando dal form invio i dati direttamente al dbmysql i dati vengono memorizzati in modo corretto. Se invece il form non viene convalidato, quando torna a essere visibile alcuni caratteri non mi vengono visualizzati in modo corretto. Ad esempio l'apice singola ' mi viene visualizzata così '.

    [php]
    <?php

    if (isset($_REQUEST['titolo'])) {
    $title = trim($_REQUEST['titolo']);
    }else {
    $title = "Dafault Title";
    }
    if (isset($_REQUEST['descrizione'])) {
    $descr = trim($_REQUEST['descrizione']);
    }else {
    $descr = "dafault text";
    }
    if (isset($_REQUEST['link'])) {
    $url_link = trim($_REQUEST['link']);
    }else {
    $url_link = "http://www.host.com/tuofile.*";
    }

    //if (isset($_REQUEST['act'])) {
    // $act = $_REQUEST['act'];
    //}
    if ($_REQUEST['act']=="add") {
    //$_SESSION['uID']
    //$title
    //data = Now()
    //$descr
    //$url_link
    //$sql = 'INSERT INTO contributi (uID, titolo, data, descrizione, link) VALUES ('.......
    if (isValidURL($url_link)) {
    //invia modulo
    $uid = $_SESSION['uID'];
    $conn = @mysql_connect($server,$username,$password) or die("Impossibile accedere al database");
    mysql_select_db($db,$conn) or die("Impossibile accedere alla tabella $db");
    $sql = "INSERT INTO contributi (uID, titolo, data, descrizione, link) VALUES ('$uid', '$title', NOW(), '$descr', '$url_link')";
    $result = mysql_query($sql);
    echo "Contributo inserito con successo. Grazie";
    }else {
    //Informa dell'url non valido
    echo "Controllare i dati inseriti";
    $_REQUEST['act']="new";
    }
    }

    if (isset($_REQUEST['act']) && isset($_SESSION['logged'])) {
    if ($_REQUEST['act']=="new") {
    ?>
    <?php echo trim($_SESSION['user']); ?>
    <form action="#" method="post" enctype="application/x-www-form-urlencoded" name="newdoc" id="newdoc">
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="5">
    <tr valign="middle">
    <td width="5%" align="right">Titolo:</td>
    <td>
    <div align="center">
    <input name="titolo" type="text" id="titolo" value="<?php echo $title;?>" maxlength="200" />
    </div></td>
    </tr>
    <tr>
    <td width="5%" align="right" valign="top">Descrizione:</td>
    <td valign="top"><textarea name="descrizione" rows="8" id="descrizione"><?php echo $descr;?></textarea></td>
    </tr>
    <tr>
    <td width="5%" align="right" valign="middle">Link</td>
    <td align="left" valign="middle"><div align="center"><input name="link" type="text" id="link" value="<?php echo $url_link;?>" /></div></td>
    </tr>
    <tr>
    <td width="5%" > </td>
    <td><div align="right">
    <input name="act" type="hidden" value="add" />
    <input type="submit" name="Submit" value="Invia" />
    </div></td>
    </tr>
    </table>
    </form>
    <?php
    }
    }
    ?>
    [/php]


  • User

    ragazzi anche se non avete risposto, ho risolto da solo, ho usato il comando stripslashes() sugli echo dei valori del form.