Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Inserimento campo data con PHP in MySql

    Ciao a tutti,
    sto utilizzando la Guida PHP/MySql pratica di html e ho creato la pagina per l'inserzione di news come suggerito nel link precedente.

    Codice PHP:
    <?
    include ("config.inc.php");
    include (
    "top_foot.inc.php");

    //intestazione
    top();
    ?>

    <form method="post" action="save.php">
    Titolo:

    <input type="text" size="40" name="titolo" />



    Data:


    <select name="giorno">
    <?
    for ($i=1$i<=31$i++)
      echo 
    "<option value=\"$i\">$i</option>";
    ?>
    </select>

    <select name="mese">
    <option value="1">Gennaio</option>
    <option value="2">Febbraio</option>
    <option value="3">Marzo</option>
    <option value="4">Aprile</option>
    <option value="5">Maggio</option>
    <option value="6">Giugno</option>
    <option value="7">Luglio</option>
    <option value="8">Agosto</option>
    <option value="9">Settembre</option>
    <option value="10">Ottobre</option>
    <option value="11">Novembre</option>
    <option value="12">Dicembre</option>
    </select>

    <select name="anno">
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2003">2006</option>
    <option value="2004">2007</option>
    </select>




    Autore:

    <input type="text" size="40" name="autore" />



    E-mail:

    <input type="text" size="40" name="mail" />



    Testo:

    <textarea cols="60" rows="40" name="testo"></textarea>



    Password:

    <input type="password" size="40" name="pass" />



    <input type="submit" value="Invia2" />
    </form>
    <?
    // chiusura pagina
    foot();
    ?>
    Il problema è che nell'inserimento della data questa non funziona.
    Al momento della visualizzazione della news la data è errata.
    Inoltre mi chiedevo se era possibile sostituire l'inserimento della data scelta con menu a discesa da un apposito calendario.
    Grazie a tutti

  2. #2
    ciao per il calendiaro posso consigliarti di usarne uno in javascript 8esistono già dei codice già scritti e funzionanti, devi solo interfacciarli con il tuo codice php);
    per l'inserimento delle date in php dovrei postare il codice che effettuat la query di insert. Oppure dire con che formato ha impostato il campo data.

    Grazie
    Ginko
    Il progresso scientifico ? www.cartagodelendaest.it

  3. #3

    Query save

    intendi questa?
    Codice PHP:
    <?
    $titolo
    =$_REQUEST['titolo'];
    $autore=$_REQUEST['autore'];
    $mail=$_REQUEST['mail'];
    $testo=$_REQUEST['testo'];
    $pass=$_REQUEST['pass'];
    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];
    include(
    "top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    if (
    $pass != $password): echo "Password errata";
    elseif (
    trim($titolo) == "" OR trim($testo) == ""):
      echo 
    "I campi Titolo e Testo devono essere riempiti!";
      else :
      
    $titolo addslashes(stripslashes($titolo));
      
    $autore addslashes(stripslashes($autore));
      
    $mail addslashes(stripslashes($mail));
      
    $testo addslashes(stripslashes($testo));
      
    $titolo str_replace("<""&lt;"$titolo);
      
    $titolo str_replace(">""&gt;"$titolo);   
      
    $autore str_replace("<""&lt;"$autore);
      
    $autore str_replace(">""&gt;"$autore);
      
    $testo str_replace("<""&lt;"$testo);
      
    $testo str_replace(">""&gt;"$testo);
      
    $testo nl2br($testo);
      
    $data mktime("0""0""0"$mese$giorno$anno);
      
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
    $query "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
        if (
    mysql_query($query$db))
        echo 
    "L'articolo è stato inserito correttamente";
      else
        echo 
    "Errore durante l'inserimento";

    //endif;  
      
    mysql_close($db);
    endif; 
    // chiude la verifica della presenza dei dati
    foot();
    ?>

  4. #4
    sul database e già stato settato il tipo DATE ?????????
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  5. #5
    il codice sta bene, dovresti indicare che formato ha il campo data nel tuo db mysql ? è datetime, date, time o varchar ?

    altrimenti è difficile capire perchè la query non funziona

    ciao
    Il progresso scientifico ? www.cartagodelendaest.it

  6. #6

    TABELLA NeWS

    La tabella è la seguente:
    Codice PHP:
    -- 
    -- 
    Struttura della tabella `news`
    -- 

    CREATE TABLE `news` (
      `
    idint(5unsigned NOT NULL auto_increment,
      `
    titolovarchar(255NOT NULL,
      `
    testotext NOT NULL,
      `
    dataint(11) default NULL,
      `
    autorevarchar(50) default NULL,
      `
    mailvarchar(50) default NULL,
      
    PRIMARY KEY  (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=
    all'inserimento della data odierna per esempio visualizza 08/10/04.

    e sul Db nel campo DATA è visualizzato questo numero 1097186400

  7. #7

    ho trovato l'errore

    E' nelL'OPTION VALUE...
    Grazie a tutti

  8. #8
    dovresti impostare la data non come INT(11) bensì come DATETIME e dovrebbe funzionare tutto;
    per farlo devi effettuare un ALTER TABLE e modificare la colonna relativa.

    ciao
    Ginko
    Il progresso scientifico ? www.cartagodelendaest.it

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.