Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    Problema di invio date in php

    ciao raga ho un problema con l'invi date in php, ho due pagine:

    una è

    inserisci.php dove l'utente inserisce la data del giorno tramite un form

    <form enctype="multipart/form-data" method="post" action="inserisci_ok.php">
    <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="2008">2008</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    <option value="2013">2013</option>
    <option value="2014">2014</option>
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
    </select>
    </form>

    e ho la pagina che riceve i dati e che le inserisce all'interno di un database

    inserisci_ok.php

    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];

    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    $query = "INSERT INTO moduli_g (titolo, data, percorso) VALUES ('$titolo', '$data', '$autore')";

    io vorrei che la data del giorno venga inserita automaticamente, senza che l'untente la inserisca in input.

    se devo usare una classe all'interno delle pagine per inpostare automaticamente le variabili giorno, mese, anno. grazie di tutto

  2. #2
    Puoi sfruttare una funzione interna di Mysql. Se specifichi il campo che conterrà la data come DATETIME o TIMESTAMP puoi settare che nell'update il campo venga aggiornato\inserito in automatico nel momento dell'inserimento.

    Controlla la documentazione di Mysql o la pillola sulle date su questo forum

  3. #3
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    non sono molto esperto

    scusatemi per l'ignoranza ma non sono molto esperto, non ci sarebbe una via più semplice per settare automaticamente la data del giorno, usando la programmazione ad oggetti, o qualc'altra cosa...

  4. #4
    Dipende molto da come è tipizzato il campo della tua tabella mysql atto a contenere la data.

    Usando il PHP puoi ottenere una data con la funzione date(), che prende come primo argomento un "formato" di data valido, e come secondo un timestamp. Se non specifichi quest'ultimo, verrà utilizzato il timestamp dell'ora in cui l'istruzione viene eseguita.

    Quindi:

    codice:
    $data = date("UnFormatoAScelta");
    ti restituisce una stringa con la data formattata.

    Il formato lo specifichi usando dei semplici token, che puoi trovare sul manuale di php relativo alla funzione: http://www.php.net/manual/en/function.date.php . Ci sono anche molti esempi esaustivi

  5. #5
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    campo mysql

    il mio campo mysq è tipizzato come intero di 11

    ecco la copia della mia tabella

    Campo Tipo Collation Attributi Null Predefinito Extra Azione
    id int(5) UNSIGNED No auto_increment
    titolo varchar(255) latin1_swedish_ci No
    [B] percorso varchar(255) latin1_swedish_ci Si NULL
    Seleziona tutti / Deseleziona tutti Se selezionati:


  6. #6
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    precisamente

    precisamente il problema è questo:

    tre variabili una che indica il giono, una il mese, una l'anno, e le vado ad inserire in una variabile che si chiama data, tutte e tre le variabili devono contenere numeri interi.

    mese 2 numeri interi giorno, lo stesso, anno quattro numeri ovviamente dato cha il campo date in mysq sono 11 interi

    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    e poi lo inserisco nel database con questa semplice query

    $query = "INSERT INTO circolari_g (titolo, data, percorso) VALUES ('$titolo', '$data', '$autore')";


    IL PROBLEMA E' SETTARE AUTOMATICAMENTE LE TRE VARIABILI

  7. #7
    Visto che è un campo INT(11) puoi memorizzare il timestamp ricavato al momento del inserimento del record tramite time() oppure $_REQUEST['TIME'], sotto PHP5.
    Ti basta sostituire questo:
    Codice PHP:
    $data mktime("0""0""0"$mese$giorno$anno); 
    con, semplicemente:
    Codice PHP:
    $data time(); 
    Poi al ritorno puoi utilizzare date() e i vari token per ricavare giorno, mese e anno dal timestamp memorizzato nel database, come suggerito dal LostCore.

    Ciao

  8. #8
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    ora insrisco tutta la pagina per chiarire

    ORA VI INSERISCO ENTRAMBE LE PAGINE PER MAGGIORE CHIARIMENTO:


    inserisci.php (quella che serve per inserire i dati)

    <?php
    include ("../config.inc.php");
    include("inclusione.inc.php");
    ?>
    <html>
    <head>
    <link rel="shortcut icon" href="immagini/icon.ico" />
    <LINK rel="shortcut icon" type="images/x-icon" href="immagini/icon.ico">
    <style type="text/css">
    .Stile5 {font-family: "Comic Sans MS"; font-size: 14px; }
    A:link, A:visited { text-decoration: none }
    A:hover { text-decoration: underline }
    </style>
    <title>Gestione Modlistica | by I.T.I. &quot;G. Marconi&quot; Nocera Inferiore (SA)</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#B9EEFB" topmargin="0">
    <table width="75%" border="0">
    <tr>
    <td>[img]immagini/circolari_sopra.jpg[/img]</td>
    </tr>
    <tr>
    <td height="419"><table width="96%" height="100" border="0" align="center">
    <tr>
    <td valign="top">

    <span class="Stile5">Home Page &gt;&gt;
    Logout</span>

    </p>
    <form enctype="multipart/form-data" method="post" action="inserisci_ok.php">


    <span class="Stile5">Titolo: </span>
    (sar&agrave; il titolo visualizzato
    a video della circolare)

    <input type="text" size="90" maxlength="200"name="titolo" />
    </p>



    <span class="Stile5">Percorso: </span>
    (usa il tasto sfoglia, trova e inserisci la
    circolare desiderata)

    <input type="hidden" name="MAX_FILE_SIZE" value="300000000000000000000" />
    <input name="userfile" size="78" type="file" />
    </p>



    <span class="Stile5">Data:</span>

    <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="2008">2008</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    <option value="2013">2013</option>
    <option value="2014">2014</option>
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
    </select>
    </p>


    <span class="Stile5">Scegli dove inserire la circolare:</span>
    </p>



    <input type="checkbox" name="genitori" value="confermato">
    Circolari Genitori - Alunni

    <input type="checkbox" name="docenti" value="confermato1">
    Circolari Docenti - Ata



    <input name="submit" type="submit" value="Inserisci Circolare" />
    </p>
    </form></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

    e inserisci_ok.php (quella che riceve i dati e li inserisce nel database)

    <?
    include("inclusione.inc.php");
    include("config.inc.php");
    ?>
    <title>Gestione Modlistica | by I.T.I. &quot;G. Marconi&quot; Nocera Inferiore (SA)</title>
    <link rel="shortcut icon" href="immagini/icon.ico" />
    <LINK rel="shortcut icon" type="images/x-icon" href="immagini/icon.ico">
    <style type="text/css">
    body {
    background-color: #B9EEFB;
    }
    .Stile5 {font-family: "Comic Sans MS"; font-size: 14px; }
    A:link, A:visited { text-decoration: none }
    A:hover { text-decoration: underline }
    </style>
    <body>
    <table width="75%" border="0">
    <tr>
    <td>[img]immagini/circolari_sopra.jpg[/img]</td>
    </tr>
    <tr>
    <td height="103">
    <table width="95%" border="0" align="center">
    <tr>
    <td><span class="Stile5">Home Page &gt;&gt; Logout</span>



    <?php
    // Controllo se si è selezionato almento un campo di inserimento
    if (!(@$_POST['genitori'] == 'confermato' or @$_POST['docenti']=='confermato1'))
    exit ("Manca la selezione della destinazione del documento.

    <a href=main.php> Continua</a>");

    // altro script per le azioni sul database
    $titolo=$_REQUEST['titolo'];
    $autore=$_FILES['userfile']['name'];
    // $autore=$_REQUEST['autore'];
    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];
    include("../config.inc.php");
    if (trim($titolo) == ""):
    echo "Il campo titolo deve essere riempito";
    else :
    // Salvataggio della circolare nella directory predefinita
    $uploaddir = 'circolari_ pdf_2007_2008/';
    echo " <font size=4> Inserimento Circolari</font>


    ";
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name'])) {
    print "Il file è stato trasferito con successo.

    ";
    } else {
    print "Errore in fase di trasferimento del file, si prega di riprovare. \n";
    exit();
    }
    $titolo = addslashes(stripslashes($titolo));
    $autore = addslashes(stripslashes($autore));
    $titolo = str_replace("<", "&lt;", $titolo);
    $titolo = str_replace(">", "&gt;", $titolo);
    $autore = str_replace("<", "&lt;", $autore);
    $autore = str_replace(">", "&gt;", $autore);
    $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");
    // INSERIMENTO IN GENITORI
    if (@$_POST['genitori'] == 'confermato')
    {
    $query = "INSERT INTO circolari_g (titolo, data, percorso) VALUES ('$titolo', '$data', '$autore')";
    if (mysql_query($query, $db))
    echo "La circolare è stata inserita correttamente in genitori.

    ";
    else
    echo "Errore durante l'inserimento in genitori.

    ";
    } else;
    // INSERIMENTO IN DOCENTI
    if (@$_POST['docenti']=='confermato1'){
    $query1 = "INSERT INTO circolari_d (titolo, data, percorso) VALUES ('$titolo', '$data', '$autore')";
    if (mysql_query($query1, $db))
    echo "La circolare è stata inserita correttamente in docenti.

    ";
    else
    echo "Errore durante l'inserimento in docenti.

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



    Continua</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>


    </p>
    </body>

    SI PUO' NOTARE NELL'ULTIMA PAGINA LE RIGHE

    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];

    DOVE RICEVE I DATI CHE POI DOVREBBE INSERIRE, IO IN TEORIA DOVREI TOGLIERE QUESTO RICEVIMENTO E INSERIRLO AUTOMATICAMENTE. GRAZIE MILLE

  9. #9
    L'abbiamo capito, e ti abbiamo anche risposto due volte!
    Spiegaci cosa non hai chiaro delle nostre risposte...

  10. #10
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    le mie scuse

    le mie più cordiali scuse, adesso mi metto sotto e cerco di far funzionare il tutto, se ho problemi ve le metto per iscritto, grazie mille, scusate ankora. moomo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.