[PHP] Problema nel passaggio del valore mese

giusalvo

Nuovo Utente
14 Ago 2012
25
1
3
MS
Salve,
ho questo codice:

PHP:
<html>
<body>
<?php
setlocale(LC_TIME, 'ita');
$mese=array(1=>"gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre");

$giorno_mese= date("d");
echo $giorno_mese;
$mese_nome=$mese[date("n")];
echo $mese_nome;
$anno =date("Y");
echo $anno;

?>
<form action="inviadata.php" method="post">
<table border="0" align="center">
<tr>
    <td align="center"><h3>Inserisci la tua data di nascita:</h3></td>
</tr>
<tr>
    <td align="center">Giorno
    <input type="text" size="2" maxlength="2" name="giorno" min="1" max="31" value=<?php echo $giorno_mese;?>>
    &nbsp;
    Mese
    <select name="ilmese">
    <option value=""selected><?php echo $mese_nome?></option>
    <option value="Gennaio">Gennaio</option>
    <option value="Febbraio">Febbraio</option>
    <option value="Marzo">Marzo</option>
    <option value="Aprile">Aprile</option>
    <option value="Maggio">Maggio</option>
    <option value="Giugno">Giugno</option>
    <option value="Luglio">Luglio</option>
    <option value="Agosto">Agosto</option>
    <option value="Settembre">Settembre</option>
    <option value="Ottobre">Ottobre</option>
    <option value="Novembre">Novembre</option>
    <option value="Dicembre">Dicembre</option>
    </select>
    &nbsp;
    Anno <input type="text" size="4" maxlength="4" name="anno" min="1848" max="2065" value=<?php echo $anno;?>>
</td>
</tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<tr>
<td align="center"><input type="submit" value="Invia"></td>
</tr>
</table>
</form>
</body>
</html>

e l'altro è questo

PHP:
<?php
echo ($_POST['giorno']) .' ' . ($_POST['ilmese']) . ' '. ($_POST['anno']);
?>

ma passano solo giorno e anno, non passa il mese!
Non riesco a trovare una soluzione: potreste darmi una dritta, per cortesia?
Grazie
Saluti
 

webimage

Nuovo Utente
22 Gen 2014
12
1
3
. ($_POST['ilmese']) . non vedo nessuna variabile chiamata "ilmese" ma solo..."mese"
prova a correggerla
 

giusalvo

Nuovo Utente
14 Ago 2012
25
1
3
MS
ho sostituito così
PHP:
echo ($_POST['giorno']) .' ' . ($_POST['mese']) . ' '. ($_POST['anno']);
e funziona, ma se lascio il mese di default, non passa
 

zorro

Utente Attivo
20 Ott 2014
324
21
28
ROMA
Ciao,
innanzi tutto ti consiglio, in fase di prova, di utilzzzare il metodo GET, col quale puoi vededere, sulla barra degli indirizzi, le variabili passate.
Il problema sta nell'impostazione delle OPTION

PHP:
<option value=""selected><?php echo $mese_nome?></option>

Cosi impostata, se l'utente non effettua nessuna scelta (mese di default), viene passato quello che si trova nel VALUE (ossia "")
Per far si che venga passato il mese visiualizzato invece, lo devi valorizzare anche nel VALUE:

PHP:
<option value="<?php echo $mese_nome?>"selected><?php echo $mese_nome?></option>
 
Ultima modifica:

giusalvo

Nuovo Utente
14 Ago 2012
25
1
3
MS
Che bello, Funziona!!!
Ma così però vedo Agosto due volte nell'elenco: all'inizio perchè è adesso e anche nell'elenco dei mesi.
Come posso ovviare?
Grazie
 

zorro

Utente Attivo
20 Ott 2014
324
21
28
ROMA
tempo fa ho fatto qualcosa di simille a ciò che vuoi fare tu. Se mi dai un po' di tempo ti posto il codice

Zorro
 

zorro

Utente Attivo
20 Ott 2014
324
21
28
ROMA
Ciao,
premetto che sono un'autodidatta, e nemmeno tanto esperto di PHP, per cui la soluzione a cui sono arrivato probabilmente non sarà la più "ortodossa" ma funziona (e questo è l'importante).
Per comodità ho asssegnato 'agosto' alla variabile $mese. Per valorizzzare il mese di default dovrai farte tante IF quanti sono i mesi dell'anno. Questo è il codice:


PHP:
<?php
$mese = 'Agosto';

echo '<select name="mese">';
echo '  <option value="  ">  </option>';
if ($mese  == 'Gennaio') {
    echo '  <option value="Gennaio" selected>Gennaio</option>';
} else {
    echo '  <option value="Gennaio">Gennaio</option>';
}
if ($mese  == 'Febbraio') {
    echo '  <option value="Febbraio" selected>Febbraio</option>';
} else {
    echo '  <option value="Febbraio">Febbraio</option>';
}
if ($mese  == 'Marzo') {
    echo '  <option value="Marzo" selected>Marzo</option>';
} else {
    echo '  <option value="Marzo">Marzo</option>';
}
if ($mese  == 'Aprile') {
    echo '  <option value="Aprile" selected>Aprile</option>';
} else {
    echo '  <option value="Aprile">Aprile</option>';
}
if ($mese  == 'Maggio') {
    echo '  <option value="Maggio" selected>Maggio</option>';
} else {
    echo '  <option value="Maggio">Maggio</option>';
}
if ($mese  == 'Giugno') {
    echo '  <option value="Giugno" selected>Giugno</option>';
} else {
    echo '  <option value="Giugno">Giugno</option>';
}
if ($mese  == 'Luglio') {
    echo '  <option value="Luglio" selected>Luglio</option>';
} else {
    echo '  <option value="Luglio">Luglio</option>';
}
if ($mese  == 'Agosto') {
    echo '  <option value="Agosto" selected>Agosto</option>';
} else {
    echo '  <option value="Agosto">Agosto</option>';
}
if ($mese  == 'Settembre') {
    echo '  <option value="Settembre" selected>Settembre</option>';
} else {
    echo '  <option value="Settembre">Settembre</option>';
}
if ($mese  == 'Ottobre') {
    echo '  <option value="Ottobre" selected>Ottobre</option>';
} else {
    echo '  <option value="Ottobre">Ottobre</option>';
}
if ($mese  == 'Novembre') {
    echo '  <option value="Novembre" selected>Novembre</option>';
} else {
    echo '  <option value="Novembre">Novembre</option>';
}
if ($mese  == 'Dicembre') {
    echo '  <option value="Dicembre" selected>Dicembre</option>';
} else {
    echo '  <option value="Dicembre">Dicembre</option>';
}
echo '  </select>';

?>


Puoi vedere il funzionamento cliccando qui.

Zorro
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Non è che vedi due volte agosto. il rpimo lo vedi erpchè mettendo il selected lo vedi di default, se passia settembre vedrai settembre come primo. comunque per il form io userei un forech risparmi spazio e un domani se devi cambiare qualcosa ti absta modificare l'array
PHP:
<form action="" method="post">
<table border="0" align="center">
<tr>
    <td align="center"><h3>Inserisci la tua data di nascita:</h3></td>
</tr>
<tr>
    <td align="center">Giorno
    <input type="text" size="2" maxlength="2" name="giorno" min="1" max="31" value=<?php echo $giorno_mese;?>>
    &nbsp;
    Mese
    <select name="ilmese">
    <option value="<?php echo $mese_nome?>"selected><?php echo $mese_nome?></option>
    <?php
    foreach($mese as $valore)
    echo '<option value="'.$valore.'">'.$valore.'</option>';
    ?>
    </select>
    &nbsp;
    Anno <input type="text" size="4" maxlength="4" name="anno" min="1848" max="2065" value=<?php echo $anno;?>>
</td>
</tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<tr>
<td align="center"><input type="submit" value="Invia"></td>
</tr>
</table>
</form>
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Problema di Undefined variable nel codice PHP PHP 5
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
A Problema checkout carrello php PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
M Problema con php per calcolo costo percentuale PHP 7
O Problema Formmail in PHP su Aruba PHP 0
WebmasterFioriniAndrea Chat e php [problema] PHP 3
L [PHP] Problema con Telegram PHP 1
WebmasterFioriniAndrea [PHP] Problema che non mi fa vedere niente PHP 2
K Help: problema con uno script di booking in php! PHP 0
A [PHP] Problema query insert [RISOLTO] PHP 14
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
M [PHP] Problema con query select PHP 2
L Problema jQuery validation AJAX (PHP 7) PHP 6
L Problema funzione mail() PHP PHP 3
S [PHP] Problema con istruzione "use" PHP 23
A Problema PHP PHP 1
T [php] problema creazione query select-where PHP 5
M [PHP] problema if PHP 3
L [PHP] Problema su codice o server PHP 5
T [PHP] problema maggiore e minore PHP 4
Cosina [PHP] fwrite problema con le parole accentate PHP 9
M [PHP] Problema search form PHP 3
F [PHP] Problema con number_format PHP 3
L [PHP] problema count messo in una funzione. PHP 1
P [PHP] Progettino CRUD di esercitazione. Problema su $_FILE. PHP 9
trattorino [PHP] problema entrata immagini insert PHP 1
C Apache Cordova problema con php Programmazione 1
trattorino problema raccapricciante php conteggio query PHP 4
T PHP+MYSQL: problema con quelle maledette lettere accentate... PHP 5
F [PHP] Problema con array multidimensionale PHP 4
F Problema con pagine login in PHP PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [PHP] Problema Invio Email Elseif PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
L [PHP] Problema Script 'Not Found' PHP 4
webmachine [PHP][MYSQL] Problema con le SELECT PHP 5
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
MattiaBL [PHP] Problema ciclo while PHP 3

Discussioni simili