Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Problema con inserimento dati in tabella

    Salve ragazzi,
    ho un problema con cui sto lottando da 2 giorni e che non riesco a risolvere. Ho un form per l'inserimento di determinati dati in tabella. Una volta inseriti, tramite un file php di controllo dovrebbe uscirmi la scritto "evento inserito correttamente" e stampare a video alcuni dati inseriti. Tra cui il nome di chi ha inserito l'evento, l'id dell'ultimo evento e la data di inserimento. Il nome viene visualizzato, ultimo id e ora nisba. Id mi da zero, la data resta vuota.

    Il codice è questo:

    Codice PHP:
    <?php
    $evento 
    htmlentities(strip_tags($_POST["evento"]));
    $luogo htmlentities(strip_tags($_POST["luogo"]));
    $data htmlentities(strip_tags($_POST["dataevento"]));
    $ora htmlentities(strip_tags($_POST["ora"]));
    $descrizione str_replace("\n""
    "
    ,$_POST["descrizione"]);
    $disponibilita htmlentities(strip_tags($_POST["disponibilita"]));
    $prezzo htmlentities(strip_tags($_POST["prezzo"]));
    $organizzazione htmlentities(strip_tags($_POST["autore"]));

    $type $_FILES['file']['type'];
    $nome $_FILES['file']['name'];
    $size $_FILES['file']['size'];
    $immagine = @file_get_contents($_FILES['file']['tmp_name']);
    $immagine addslashes ($immagine);
    $max_size 100000;

    if(
    $evento=="")
    {
    print (
    "Il nome dell'evento è obbligatorio
    <a href=\"insertevent.php\">indietro</a>
    "
    );
    }
    elseif(
    $luogo=="")
    {
    print (
    "Il luogo dell'evento è obbligatorio
    <a href=\"insertevent.php\">indietro</a>
    "
    );
    }
    elseif(
    $data=="")
    {
    print (
    "La data dell'evento è obbligatoria
    <a href=\"insertevent.php\">indietro</a>
    "
    );
    }
    elseif(
    $ora=="")
    {
    print (
    "L'ora dell'evento è obbligatoria
    <a href=\"insertevent.php\">indietro</a>
    "
    );
    }
    elseif(
    $descrizione=="")
    {
    print 
    "La descrizione è obbligatoria
    <a href=\"insertevent.php\">indietro</a>
    "
    ;
    }
    elseif(
    $disponibilita=="")
    {
    print 
    "Indicare la disposibilità
    <a href=\"insertevent.php\">indietro</a>
    "
    ;
    }
    elseif(
    $prezzo=="")
    {
    print 
    "Indicare il prezzo per singolo biglietto
    <a href=\"insertevent.php\">indietro</a>
    "
    ;
    }
    elseif(
    $immagine=="")
    {
    print 
    "L'immagine è obbligatoria
    <a href=\"insertevent.php\">indietro</a>
    "
    ;
    }
    elseif(
    $size $max_size)
    {
    print 
    "L'immagine supera i 100 kb. Il file è troppo grande
    <a href=\"insertevent.php\">indietro</a>
    "
    ;
    }
    else
    {
    include(
    "config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
    mysql_query("insert into eventi (evento, luogo, dataevento, ora, descrizione, disponibilita, prezzo, autore, nome, size, type, immagine) values ('$evento', '$luogo', '$data', '$ora', '$descrizione', '$disponibilita', '$prezzo', '$organizzazione','$nome','$size','$type','$immagine')");    
    $ultimo_id mysql_insert_id();
    mysql_close();
    ?>
    <table width="400" bgcolor="#f5f5f5" align="center" cellpadding="0" cellspacing="5" border="0"> 
    <tr> 
    <td> 
    <div align="center"> 
    <h1><font color="#000000" size="4">EVENTO INSERITO CORRETTAMENTE</font></h1> 
    </div>
    </td></tr> 
    </table> 

     
    <table width="400" bgcolor="#FFFFFF" align="center" cellpadding="0" cellspacing="5" border="0"> 
    <tr><td> 
    <?php 
    include("config.php");
    mysql_connect($db_host$db_user$db_password$db_name) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
    $dati mysql_query("SELECT date_format(data,'%d-%m-%Y %H:%i') AS 'dataora' FROM eventi WHERE event_id='$ultimo_id'");
    $array mysql_fetch_array($dati);
    echo 
    "<h3>Autore:</h3> $organizzazione

    "

    echo 
    "<h3>Ultimo id inserito:</h3> $ultimo_id
    "
    ;
    echo 
    "Pubblicato il ".substr($array ['dataora'],0,10)." alle "substr($array ['dataora'],11,5);
    mysql_close();
    ?> 

     


    <?php 
    include("config.php");
    mysql_connect($db_host$db_user$db_password$db_name) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");

    $dati mysql_query("SELECT * FROM eventi WHERE event_id='$ultimo_id'");
    $array mysql_fetch_array($dati); 
    echo 
    " <tr>";
    echo 
    "<td><a href=\"modifica.php?id=" $array['event_id'] . "\">modifica</td> "
    echo 
    "<td><a href=\"amministrazione/menu.php\">Torna al menu</td> "
    echo 
    "</tr>";
    mysql_close();
    ?> 


    </td> 
    </tr> 
    </table> 
    </body> 
    </html> 
    <? 

    ?>
    Mi sapete dire dove diavolo sta l'errore? Ho testato il tutto in locale ma nulla!!!!!! Eppure pare che non vi siano errori di codice, ma magari mi sta sfuggendo qualcosa. Ah, per inciso, questa è la struttura della tabella eventi:

    CREATE TABLE `eventi` (
    `event_id` int(5) unsigned NOT NULL auto_increment,
    `evento` text NOT NULL,
    `luogo` text NOT NULL,
    `dataevento` varchar(50) NOT NULL default '',
    `ora` varchar(50) NOT NULL default '',
    `descrizione` text NOT NULL,
    `quantita` int(3),
    `prezzo` decimal (5,2),
    `data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `nome` varchar(50) NOT NULL default '',
    `size` varchar(25) NOT NULL default '',
    `type` varchar(25) NOT NULL default '',
    `immagine` longblob NOT NULL,
    `pub` int(1) NOT NULL default '0',
    PRIMARY KEY (`event_id`)
    )

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ragazzi,
    sto provando e riprovando ma non cambia nulla. Qualcuno ha intravisto qualche errore di codice?

  3. #3
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    che errori ti dà?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    L'ho scritto ad inizio tred. Non è che mi da errori di codice, ma non viene neppure inserito l'evento in tabella. Praticamente mi esce la pagina con scritto "evento inserito correttamente", poi però come ultimo id inserito mi esce fuori zero e come data di inserimento il nulla assoluto....

    Ecco allora che poi vado a controllare con phpmyadmin la tabella eventi e non è stata compilata.....

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    non riesco a capire se hai incollato + pagine o se tutto nella stessa... cmq poco importa. Fai cosi:

    sostituisci questo
    Codice PHP:
    mysql_query("insert into eventi (evento, luogo, dataevento, ora, descrizione, disponibilita, prezzo, autore, nome, size, type, immagine) values ('$evento', '$luogo', '$data', '$ora', '$descrizione', '$disponibilita', '$prezzo', '$organizzazione','$nome','$size','$type','$immagine')"); 
    con questo

    Codice PHP:
    $sql ="insert into eventi (evento, luogo, dataevento, ora, descrizione, disponibilita, prezzo, autore, nome, size, type, immagine) values ('$evento', '$luogo', '$data', '$ora', '$descrizione', '$disponibilita', '$prezzo', '$organizzazione','$nome','$size','$type','$immagine')"

    mysql_query$sql )or die( mysql_error() ) ; 
    e dimmi se ti scrive qualcosa...

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Mi da il seguente errore:

    Parse error: parse error in c:\programmi\easyphp1-8\www\progetto lista facile\lista-facile\inse.php on line 107

    ossia nella stringa di codice che mi hai fatto aggiungere:

    mysql_query( $sql )or die( mysql_error() ) ;

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    e cosi:

    mysql_query("insert into eventi (evento, luogo, dataevento, ora, descrizione, disponibilita, prezzo, autore, nome, size, type, immagine) values ('$evento', '$luogo', '$data', '$ora', '$descrizione', '$disponibilita', '$prezzo', '$organizzazione','$nome','$size','$type','$immagi ne')") or die( mysql_error() . "
    " . $sql) ;

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ti ringrazio infinitamente!!!
    Sai dove stava l'errore? Che quando inserivo i dati in tabella tramite il form non avevo due campi corrispondenti in tabella sql. Nel senso, per autore avevo organizzazione, per disponibilità avevo scritto quantità. Ora ho corretto e funziona alla perfezione!!
    Grazie mille davvero

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.