• User

    Inserimento dati nel database,errore campo "NULL"

    Salve a tutti!Ho un problema da risolvere con uno script che invia dati in un database.Il problema riguarda un unico campo della tabella,dove compare il valore "NULL" al posto del testo che invio.

    La tabella è creata cosi:
    ID-INT(10)-UNSIGNED-NOT NULL-AUTO_INCREMENT-PRIMARY KEY
    TIPOLOGIA-VARCHR(50)-NULL
    ZONA-VARCHAR(100)-NULL
    PREZZO-DECIMAL(10,0)-UNSIGNED-NULL
    DESCRIZIONE-BLOB-NULL
    FOTOS-BLOB-NULL

    Il form html è:

    [html]<table width="300" border="0" align="left
    " cellpadding="0" cellspacing="1">
    <tr>
    <td><form enctype="multipart/form-data" form name="form1" method="post" action="inserisciv.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td colspan="3"><strong>Inserisci immobili in vendita</strong></td>
    </tr>
    <tr>
    <td width="71">Tipologia</td>
    <td width="6">:</td>
    <td width="301"><input name="tipologia" type="text" id="tipologia"></td>
    </tr>
    <tr>
    <td>Zona</td>
    <td>:</td>
    <td><input name="zona" type="text" id="zona"></td>
    </tr>
    <tr>
    <td>Prezzo</td>
    <td>:</td>
    <td><input name="prezzo" type="text" id="prezzo"></td>
    </tr>
    <tr>
    <td>Descrizione</td>
    <td>:</td>
    <td><textarea name="descrizione" id="descrizione" rows="5" cols="30"></textarea>
    </td>
    </tr>
    <tr>
    <td>Foto</td>
    <td>:</td>
    <td><input name="fotos" type="file" id="fotos" /></td>
    </tr>
    <tr>
    <td colspan="3" align="center"><input type="submit" name="submit" value="Invia">
    <input type="reset" name="cancella" value="Cancella" /></td>
    <td colspan="3" align="left"></tr>
    </table>
    </form>
    </td>
    </tr>
    </table>[/html]Il form php è :

    [php]<?php
    require ("config.php");

    $tipologia = isset($_POST['tipologia']) ? $_POST['tipologia'] : "NULL";
    $zona=(isset($_POST['zona']))? $_POST['zona'] : "NULL";
    $prezzo=(isset($_POST['prezzo']))? $_POST['prezzo'] : "NULL";
    $descrizione=(isset($POST['descrizione']))? $_POST['descrizione'] : "NULL";
    $fotos=(isset($_POST['fotos']))? $_POST['fotos'] : "NULL";

    //Proteggo il codice da MySql Injection

    $tipologia = stripslashes($tipologia);
    $zona = stripslashes($zona);
    $prezzo = stripslashes($prezzo);
    $descrizione = stripslashes($descrizione);
    $fotos = stripslashes($fotos);
    $tipologia = mysql_real_escape_string($tipologia);
    $zona = mysql_real_escape_string($zona);
    $prezzo = mysql_real_escape_string($prezzo);
    $descrizione = mysql_real_escape_string($descrizione);
    $fotos = mysql_real_escape_string($fotos);

    // Inserisco i dati
    $sql="INSERT INTO vendita(tipologia, zona, prezzo, descrizione, fotos)VALUES('$tipologia', '$zona', '$prezzo', '$descrizione', '$fotos')";

    $result=mysql_query($sql);

    // se và a buon fine stampa"Dati inseriti con successo".
    if($result){

    echo "Dati inseriti con successo,";
    echo "<BR>";
    echo "<a href='javascript:history.back()'>torna alla pagina precedente</a>";
    }

    else {
    echo "ERRORE";
    }

    // chiudo la connessione
    mysql_close();
    ?>[/php]I dati vengono inseriti tutti correttamente,infatti quando li invio non vengono riportati errori,ma se controllo la tabella nel database creato con phpmyadmin,nel campo "Descrizione" c'è scritto il valore"NULL" invece della descrizione che ho inviato.Ho provato ad impostare il campo come VARCHAR o come TEXT,ma non cambia nulla,credo che l'errore a questo punto sia nello script php ma non riesco a capire dove!


  • ModSenior

    Ciao Novella,
    fai un var_dump di $descrizione prima di eseguire la query e controlla che la variabile abbia il valore corretto.


  • User

    Giusto,faccio subito e ti dico 🙂


  • User

    Mi dice : string(4)"NULL"..


  • User

    Ok dai era un errore assurdo!

    $descrizione=(isset($**_**POST['descrizione']))

    Mancava l'underscore...
    Grazie Thedarkita^_^