Problema di invio dati

ppigna

Utente Attivo
23 Dic 2013
63
0
0
Buongiorno a tutti,
ho creato questa pagina:
HTML:
<form action="processo.php" method="post">
	<p>Giorno<br /><input type="text" name="giorno" /><input type="submit" name="inviadatigiorno" value="Invia" /></p>  
	<p>Mese<br /><input type="text" name="mese" /><input type="submit" name="inviadatimese" value="Invia" /></p> 
	<p>Nome<br /><input type="text" name="nome" /><input type="submit" name="inviadatinome" value="Invia" /></p>
</form>
PHP:
<?php
	$giorno = htmlspecialchars($_POST['giorno']);
	$mese = htmlspecialchars($_POST['mese']);
	$nome = htmlspecialchars($_POST['nome']);
	
	$totale = $giorno + $mese + $nome;
	
	
	switch($totale)
	{
		case $totale == 0 || $totale ==  10 || $totale ==  20 || $totale ==  30 || $totale ==  40 || $totale ==  50 ||  $totale ==  60 || $totale ==  70 || $totale ==  80 || $totale ==  90 || $totale ==  100;
			echo "0";
			break;
		
		case $totale == 1 || $totale ==  11 || $totale ==  21 || $totale ==  31 || $totale ==  41 || $totale ==  51 || $totale ==  61 || $totale ==  71 || $totale ==  81 || $totale ==  91 || $totale ==  101;
			echo "1";
			break;
		
		case $totale == 2 || $totale ==  12 || $totale ==  22 || $totale ==  32 || $totale ==  42 || $totale ==  52 || $totale ==  62 || $totale ==  72 || $totale ==  82 || $totale ==  92 || $totale ==  102;
			echo "2";
			break;
		
		case $totale == 3 || $totale ==  13 || $totale ==  23 || $totale ==  33 || $totale ==  43 || $totale ==  53 || $totale ==  63 || $totale ==  73 || $totale ==  83 || $totale ==  93 || $totale ==  103;
			echo "3";
			break;
		
		case $totale == 4 || $totale ==  14 || $totale ==  24 || $totale ==  34 || $totale ==  44 || $totale ==  54 || $totale ==  64 || $totale ==  74 || $totale ==  84 || $totale ==  94 || $totale ==  104;
			echo "4";
			break;
		
		case $totale == 5 || $totale ==  15 || $totale ==  25 || $totale ==  35 || $totale ==  45 || $totale ==  55 || $totale ==  65 || $totale ==  75 || $totale ==  85 || $totale ==  95 || $totale ==  105;
			echo "5";
			break;
		
		case $totale == 6 || $totale ==  16 || $totale ==  26 || $totale ==  36 || $totale ==  46 || $totale ==  56 || $totale ==  66 || $totale ==  76 || $totale ==  86 || $totale ==  96 || $totale ==  106;
			echo "6";
			break;
		
		case $totale == 7 || $totale ==  17 || $totale ==  27 || $totale ==  37 || $totale ==  47 || $totale ==  57 || $totale ==  67 || $totale ==  77 || $totale ==  87 || $totale ==  97 || $totale ==  107;
			echo "7";
			break;
		
		case $totale == 8 || $totale ==  18 || $totale ==  28 || $totale ==  38 || $totale ==  48 || $totale ==  58 || $totale ==  68 || $totale ==  78 || $totale ==  88 || $totale ==  98 || $totale ==  108;
			echo "8";
			break;
		
		case $totale == 9 || $totale ==  19 || $totale ==  29 || $totale ==  39 || $totale ==  49 || $totale ==  59 || $totale ==  69 || $totale ==  79 || $totale ==  89 || $totale ==  99 || $totale ==  109 || $totale ==  $totale >= 110;
			echo "9";
			break;
	}
?>
Ma ora mi sorge un problema: quando scrivo nel campo (per esempio) "giorno" e premo invio, lui attribuisce subito a $totale solo il valore di $giorno, senza aspettare anche gli altri valori. Come faccio a creare un unico bottone che invii i dati di tutti e tre i campi contemporaneamente?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
basta che metti un pulsante solo
PHP:
<form action="processo.php" method="post">
	<p>Giorno<br /><input type="text" name="giorno" /></p>  
	<p>Mese<br /><input type="text" name="mese" /></p> 
	<p>Nome<br /><input type="text" name="nome" /></p>
<br>
<input type="submit" name="inviadati" value="Invia" />
</form>
poi se ti occorre che tutti i dati siano completati , nella pagina che riceve i dati fai un controllo sui campi che non siano vuoti con un semplice if.

però come fa a farti il toale di "Nome" se è una stringa?
 

ppigna

Utente Attivo
23 Dic 2013
63
0
0
basta che metti un pulsante solo
PHP:
<form action="processo.php" method="post">
	<p>Giorno<br /><input type="text" name="giorno" /></p>  
	<p>Mese<br /><input type="text" name="mese" /></p> 
	<p>Nome<br /><input type="text" name="nome" /></p>
<br>
<input type="submit" name="inviadati" value="Invia" />
</form>
poi se ti occorre che tutti i dati siano completati , nella pagina che riceve i dati fai un controllo sui campi che non siano vuoti con un semplice if.

però come fa a farti il toale di "Nome" se è una stringa?
Ok, grazie mille.
Nel campo "nome" va inserito il numero di lettere del proprio nome: lo specifico nel mio sito, questo è solo un modello semplificato.
Grazie ancora e buona sera :)
 

ppigna

Utente Attivo
23 Dic 2013
63
0
0
basta che metti un pulsante solo
PHP:
<form action="processo.php" method="post">
	<p>Giorno<br /><input type="text" name="giorno" /></p>  
	<p>Mese<br /><input type="text" name="mese" /></p> 
	<p>Nome<br /><input type="text" name="nome" /></p>
<br>
<input type="submit" name="inviadati" value="Invia" />
</form>
poi se ti occorre che tutti i dati siano completati , nella pagina che riceve i dati fai un controllo sui campi che non siano vuoti con un semplice if.

però come fa a farti il toale di "Nome" se è una stringa?
Purtroppo ho un altro problema: i tre campi sono distanti, nel mio codice html, quindi non posso racchiuderli nello stesso tag <form>. C'è un modo per chiudere il tag form e riprendere lo stesso più avanti? Ti faccio vedere il codice, spero tu capisca di più:
HTML:
<div class="ac_menu">
				<ul>
					<li>
						<a href="/images/galassia2.jpg">Giorno</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Giorno</h2>
							<ul>
								<li>Che giorno è oggi? Inserisci il numero qui sotto.</li>
								<li><br /></li>
							</ul>
							<form action="frase.php" method="post"><input type="text" name="giorno" size="15"><!-- <input type="button" name="Invia" value="  Invia  " size="10"> --></form>
							<?php //$giorno = htmlspecialchars($_POST['giorno']); ?>
						</div>
					</li>
					<li>
						<a href="/images/galassia3.jpg">Mese</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Mese</h2>
							<ul>
								<li>In che mese siamo oggi? Inserisci il numero qui sotto.</li>
								<li><br /></li>
							</ul>
							<form action="frase.php" method="post"><input type="text" name="mese" size="15"><!-- <input type="button" name="Invia" value="  Invia  " size="10"> --></form
							<?php //$mese = htmlspecialchars($_POST['mese']); ?>
						</div>
					</li>
					<li>
						<a href="/images/galassia4.jpg">Nome</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Nome</h2>
							<ul>
								<li>Da quante lettere è formato il tuo (primo) nome? Inserisci il numero qui sotto.</li>
								<li><br /></li>
							</ul>
							<form action="frase.php" method="post"><input type="text" name="nome" size="15"><!-- <input type="button" name="Invia" value="  Invia  " size="10"> --></form>
							<?php //$nome = htmlspecialchars($_POST['nome']); ?>
						</div>
					</li>
					<li>
						<a href="/images/galassia5.jpg">Invio</a>
						<div class="ac_subitem">
							<span class="ac_close"></span>
							<h2>Invio</h2>
							<ul>
								<li><p>Premi Invia per visualizzare il responso dell'oracolo.</p></li>
								<li><br /></li>
							</ul>
							<form><input type="button" name="Invia"  value="  Invia  " size="10" onclick="location.href='frase.php'"></form>
						</div>
					</li>
				</ul>
			</div>
 
Ultima modifica:

Monital

Utente Attivo
15 Apr 2009
778
2
18
PHP:
<form action="frase.php" method="post">
non devi metterlo davanti ogni tasto ma puoi metterlo subito dopo il div o prima

PHP:
<div class="ac_menu">
<form action="frase.php" method="post">
<!-- Codice ->
</form>
</div>