problema con calendario php

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
thaypan
Linux 0.x
Linux 0.x
Messaggi: 1
Iscritto il: gio 17 mag 2012, 16:31

problema con calendario php

Messaggio da thaypan »

Ciao a tutti, vorrei avere una dritta su come fare per inviare i dati da uno script ad un altro... il problema è nella formattazione dei dati.
Ho due script index.php e reports.php... sono quasi identici solo che nel primo per ogni giorno di calendario c'è una casellina di input e un tasto invia che dovrebbe inviar ei dati all'altro file reports.php ed inseriri nello stesso giorno corretto.


Ho provato in questo modo ma non va.. :roll: :roll:
sapete dirmi dove sbaglio?
Grazie ciao
P.S. dovrebbe avere questo aspetto qui http://thaypan.altervista.org/Time_Trac ... gement.png


index.php

Codice: Seleziona tutto

    <script type="text/javascript">
        function somma_valori(form) {       
            var elementi = form.elements.length;
            var somma = 0;
            for(var i = 0; i < elementi; i++){
                if(form.elements[i].name != "invia") {
                    var valore = parseInt(form.elements[i].value);
                    if(isNaN(valore))
                        valore = 0;               
                    somma = somma + valore;
                }
            }
            document.getElementById('somma').innerHTML = somma
        }
    </script>
    <style type="text/css">
        table{
            font-family:Arial, Helvetica, sans-serif;
            font-size:12px;
            text-align:center;
            background-color:#F1F1F1;
        }
        .dom{
            background-color:#FF6600;
        }
        .sab{
            background-color: #FFFFCC;
        }
        .oggi{
            border-width:2px;
            border-color: #009900;
            border-style:solid;
            font-weight:bold;
        }
        .me{
            font-family:Arial, Helvetica, sans-serif;
            font-size:14px;
            font-weight:bold;
        }
    </style>
    <?php
    $month = date('m');
    $year = date('Y');
    $oggi = date("d") + 0;
    $giorni_settimana = array(1, "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");
    $mese = array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
    $time_primo_del_mese = mktime(0, 0, 0, $month, 1, $year);
    $primo_del_mese = date('w', $time_primo_del_mese);
    $giorni_nel_mese = cal_days_in_month(CAL_GREGORIAN, $month, $year);
    echo "<span class=\"me\">" . $mese[($month - 1)] . "</span>";


    echo "<table border='1'>";
    echo "<form action='reports.php' method='post'>";
    echo "<tr>";
    $g = $primo_del_mese;
    for ($i = 1; $i <= $giorni_nel_mese; $i++) {
        $classe = "";
        if ($giorni_settimana[$g] == "Dom") {
            $classe = " class=\"dom\"";
        } elseif ($giorni_settimana[$g] == "Sab") {
            $classe = " class=\"sab\"";
        }
        echo "<td $classe>" . $giorni_settimana[$g] . "</td>";
        if ($g == 7) {
            $g = 1;
        } else {
            $g++;
        }
    }
    echo "</tr>";
    echo "<tr>";
    for ($i = 1; $i <= $giorni_nel_mese; $i++) {
        $classe = "";
        if ($i == $oggi) {
            $classe = " class=\"oggi\"";
        }
        echo "<td $classe>$i</td>";
    }
    echo "</tr>";
    echo "<tr>";
    for ($i = 1; $i <= $giorni_nel_mese; $i++) {
        echo "<td><input type='text' onkeyup='somma_valori(this.form)' size='1' name='" . $year . "-" . $month . "-" . $i . "'/></td>\n";
    }
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan='$i'>";
    echo "Totale : <span id='somma'>0</span> &nbsp;";
    echo "&nbsp;<input type='submit' name='invia' value='Invia'/>";
    echo "</td>";
    echo "</tr>";
    echo "</form>";
    echo "</table>";
    ?>

reports.php

Codice: Seleziona tutto

    <?php

    $month = date('m');
    $year = date('Y');

    $giorni_settimana = array(1, "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");

    $time_primo_del_mese = mktime(0, 0, 0, $month, 1, $year);
    $primo_del_mese = date('w', $time_primo_del_mese);

    $giorni_nel_mese = cal_days_in_month(CAL_GREGORIAN, $month, $year);

    echo "<table border='1'>";
    echo "<tr>";
    $g = $primo_del_mese;
    for ($i = 1; $i <= $giorni_nel_mese; $i++) {
        echo "<td>" . $giorni_settimana[$g] . "</td>";
        if ($g == 7) {
            $g = 1;
        } else {
            $g++;
        }
    }
    echo "</tr>";
    echo "<tr>";
    for ($i = 1; $i <= $giorni_nel_mese; $i++) {
        echo "<td>$i</td>";
    }
    echo "</tr>";
    echo "</table>";

    unset($_POST['invia']);
    foreach ($_POST as $key => $value) {
        (int) $value;

        if ($value != 0) {
            echo $key . "->" . $value . "<br/>";
        }
    }
    ?> 

mandrago
Linux 0.x
Linux 0.x
Messaggi: 30
Iscritto il: ven 30 mar 2012, 18:13
Slackware: 13.37
Kernel: 3.0.4
Desktop: XFCE4

Re: problema con calendario php

Messaggio da mandrago »

Ciao per quanto riguarda il passaggio di dati tramite i due scripts potresti agire così:

Codice: Seleziona tutto

// index.php
<script>window.location="reports.php?parametro=<?php echo $tuoparametro;?>";</script>
In questo modo tramite la variabile GET parametro passaresti tutto i dati che vuoi dalla pagina index.php alla pagina reports :)

Rispondi