Interazione tra il foreach e una tabella html

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ^^

Sono alle prime armi con la programmazione web ... ma con il vostro aiuto diventerò molto brava ;)

Oggi mi è stato assegnato un compito in cui è necessario creare una form html ( con la text area, la select,la checkbok e la radiobox) e creare uno script in PHP tale che inserisca i risultati dei parametri passati dall'utente con la form in una tabella html con due colonne ( la colonna di sinistra deve contenere il nome della variabile che ho passato tramite e nella colonna di destra il relativo risulatato ) .... Tutta questa operazione deve essere fatta con il costrutto foreach senza passare per la creazione di un database ...PLEASE HELP ME :(
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Grazie Eliox ^_^

Ecco qui il codice della form in html :

<h1>Informazioni di riepilogo</h1>

<form name="esercizio" action="eserciziocasa1.php" method="POST">

<p> Inserisci qui il tuo nome,cognome ed email </p>

<p>Nome<input type="text" name="nome" /> </p> </br>
<p>Cognome<input type="text" name="cognome" /> </p> </br>
<p>Email<input type="text" name="email" /></p> </br>


<p>Inserisci qui un commmento </p>

<textarea rows="20" cols="50" name="commento" >



</textarea>

<p> Immetti una quantit&agrave </p>

<p>

<select name="scelta" >
<option value="10"> 10 </option>
<option value="20"> 20 </option>
<option value="30">30 </option>
</select>

</p>

<p> Scegli le modalità di pagamento : </p>

<input type="radio" name="opzioni1" value="Mastercard" > Mastercard <br>
<input type="radio" name="opzioni1" value="Postepay" > Postepay <br>
<input type="radio" name="opzioni1" value="Paypal" > PAypal <br>

</p>

<p> Dai un giudizio al sito </p>

<p>
<input type="checkbox" name="opzione" value="Buono" > Buono<br>
<input type="checkbox" name="opzione3" value="Medio" > Medio <br>
<input type="checkbox" name="opzione4" value="Scaro" > Scarso <br>
</p>

<p><input type="submit" value="Invia"/></p>

</form>

P.S.Non avendo un modello di form specifico me la sono inventata ^_^
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa dai un name al pulsante di submit
PHP:
<?php
if(isset($_POST['name_del_submit'])){
	unset($_POST['name_del_submit']);
	echo "<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"2\">";
	foreach($_POST as $nome_campo => $valore_campo){
		echo"<tr><td>$nome_campo</td><td>$valore_campo</td></tr>";
	}
	echo "</table>";
}
?>
<!--qui il form -->

poi racchiude sempre il codice con l'apposito tag (II° riga ultime tre iconcine sulla barra di formattazione del post)
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
per prima cosa dai un name al pulsante di submit
PHP:
<?php
if(isset($_POST['name_del_submit'])){
	unset($_POST['name_del_submit']);
	echo "<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"2\">";
	foreach($_POST as $nome_campo => $valore_campo){
		echo"<tr><td>$nome_campo</td><td>$valore_campo</td></tr>";
	}
	echo "</table>";
}
?>
<!--qui il form -->

poi racchiude sempre il codice con l'apposito tag (II° riga ultime tre iconcine sulla barra di formattazione del post)

Grazie ^_^ .. ti posso fare qualche domanda ?? ^_^
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
"domandare è lecito, rispondere è cortesia"

ricorda però "un argomento un post", cioè se la domanda è relativa all'argomento di questo post, puoi continuare, altrimenti aprine un altro.
questo per facilitare la ricerca anche ad altri utenti interessati.

aspetto apiè fermo :eek:
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
"domandare è lecito, rispondere è cortesia"

ricorda però "un argomento un post", cioè se la domanda è relativa all'argomento di questo post, puoi continuare, altrimenti aprine un altro.
questo per facilitare la ricerca anche ad altri utenti interessati.

aspetto apiè fermo :eek:

^_^ le mie domande riguardano sempre questo post ^_^

1- Nel codice php nella riga dell'if hai giustamente messo in controllo della variabile super globale $_POST['nomesottomissione'] perchè poi successivamente hai messo unsset della stessa variabile ?? Il controllo lo posso fare anche con la funzione empty () ?? ^^

.. Pensavo di dover creare prima un array associativo che poi veniva scorto con il foreach .. forse mi sbagliavo

Forse saranno domande stupide ..scusa :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
in questo caso la variabile $_POST (array superglobale) è composta da
$_POST['name_del_submit'] di valore "invia"
$_POST['nome'] di valore "pinco"
$_POST['conome'] di valore "pallo"
ecc...
se non la elimino ( unset() ) prima del foreach viene ciclata anche quella e quindi stampata nella tabella
$_POST è già un array, in questo caso associativo, quindi non servirebbe trasformarlo, però se vuoi farlo, dopo l'unset, puoi scivere

PHP:
<?php
//.........
$nuovo_array=$_POST;
//....
?>
in questo caso nel foreach al posto di $_POST devi mettere $nuovo_array.

guarda però che quello che ti ho inviato è un semplice script scolastico, mancano completamente i controlli su S_POST, esempio se vuoti o contenenti porcherie, tali controlli servone a un db o invio per email
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
in questo caso la variabile $_POST (array superglobale) è composta da
$_POST['name_del_submit'] di valore "invia"
$_POST['nome'] di valore "pinco"
$_POST['conome'] di valore "pallo"
ecc...
se non la elimino ( unset() ) prima del foreach viene ciclata anche quella e quindi stampata nella tabella
$_POST è già un array, in questo caso associativo, quindi non servirebbe trasformarlo, però se vuoi farlo, dopo l'unset, puoi scivere

PHP:
<?php
//.........
$nuovo_array=$_POST;
//....
?>
in questo caso nel foreach al posto di $_POST devi mettere $nuovo_array.

guarda però che quello che ti ho inviato è un semplice script scolastico, mancano completamente i controlli su S_POST, esempio se vuoti o contenenti porcherie, tali controlli servone a un db o invio per email

Preferisco mantenerlo così però se volessi fare i controli dove andrebbero messi ?? ^^
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io personalmente metto i controlli prima di fare qualsiasi operazione.
solo se i controlli sono tutti ok faccio eseguire quello che lo script deve fare, altrimenti riinvio o al form o altra pagina.
schematicamente:
1. leggo i valori provenienti dal form
2. ripulisco e verifico i valori
3. i valori sono OK?
SI: faccio quello che devo fare
NO: rinvio l'utente da qualche parte

poi le verifiche e la pulizia dipendono anche da quello che stai inviando e da quello che devi fare, es.
se hai un campo che deve essere obbligatoriamente riempito (scrivo passo passo)
PHP:
<?php
$nome=$_POST['nome'];//leggo dal fom
$nome=trim($nome);//tolgo gli spazi iniziale e/o finali, se l'utente ha inserito solo spazi in pratica vuoto la variabile
//verifico
if($nome != ""){
	//l'utente ha inserito qualcosa di formalmente valido
	echo "stampo o invio o salvo nel db";//faccio quello che devo
}else{
	//l'utente non ha messo nulla nel campo o solo spazi
	echo "<h1>non hai inserito il tuo nome</h1>";
	//questo è uno dei metodi per riinviare al form se nella stessa pagina
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
?>
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
io personalmente metto i controlli prima di fare qualsiasi operazione.
solo se i controlli sono tutti ok faccio eseguire quello che lo script deve fare, altrimenti riinvio o al form o altra pagina.
schematicamente:
1. leggo i valori provenienti dal form
2. ripulisco e verifico i valori
3. i valori sono OK?
SI: faccio quello che devo fare
NO: rinvio l'utente da qualche parte

poi le verifiche e la pulizia dipendono anche da quello che stai inviando e da quello che devi fare, es.
se hai un campo che deve essere obbligatoriamente riempito (scrivo passo passo)
PHP:
<?php
$nome=$_POST['nome'];//leggo dal fom
$nome=trim($nome);//tolgo gli spazi iniziale e/o finali, se l'utente ha inserito solo spazi in pratica vuoto la variabile
//verifico
if($nome != ""){
	//l'utente ha inserito qualcosa di formalmente valido
	echo "stampo o invio o salvo nel db";//faccio quello che devo
}else{
	//l'utente non ha messo nulla nel campo o solo spazi
	echo "<h1>non hai inserito il tuo nome</h1>";
	//questo è uno dei metodi per riinviare al form se nella stessa pagina
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
?>

Thanks for the advise ;)

Ti volevo chiedere se si poteva mettere la funzione exit () prima della funzione header () ?? ^^
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
exit() termina l'esecuzione di uno script, quindi tutte le istruzioni che la seguono non vengono eseguite.
l'istruzione header() deve essere messa prima di ogni output html (anche un singolo spazio), salvo modificare il flusso.
salvo che siano due rami diversi (es. di un if/else) mettere exit prima non fa eseguire l'header(), cioè puoi metterla prima, ma non ha senso
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Interazione tra i form html ajax e php PHP 3
S [PHP] Interazione tra due finestre. Come fare? PHP 4
Albertoesse Problemi Interazione tra PHP\JS\MYSQL PHP 3
S bacheca interazione tra utenti stile facebook ... PHP 49
S Interazione solo tra utenti stile facebook PHP 44
V Interazione tra PHP e MS Access, aggiungere WHERE condition PHP 2
M Interazione tra un più campi di un form con un solo campo di database - query mysql PHP 2
A PROBLEMA INTERAZIONE PHP E JAVASCRIPT PHP 1
F Facebook ADS ... meglio impression o interazione con post? Social Media Marketing 1
A interazione su campo input dopo l'inserimento della prima lettera jQuery 2
V Interazione excel con pagina web HTML e CSS 1
MrClog interazione con VNC PHP 0
ste80 interazione PHP Access con paginazione PHP 7
L Interazione Javascript con Java Javascript 0
Athene Interazione session_start() e array associativo PHP 5
M interazione database con google maps Javascript 0
X interazione javascript e php (aggirare limite) Javascript 2
emanuelevt interazione programmazione web .exe con laurea breve Discussioni Varie 5
F interazione database template system PHP 1
G Snoopy e Php,tentativo di interazione con sito PHP 1
C [HELP] interazione flash e javascript Flash 0
S Semplice Javascript di interazione con iframe Javascript 1
N interazione php access PHP 0
T Problema interazione flash-html Flash 0
P interazione in html HTML e CSS 2
C Problemi interazione javascript e flash Javascript 0
C Problemi interazione Flash-javascript!!!! Help! Flash 1
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3
Z Google Fonts CSS tra desktop e responsive HTML e CSS 1
MarcoGrazia Associazioni tra Search Console e Analitycs SEO e Posizionamento 0
M Collegamento tra form html e script php PHP 4
D popolare campi tra th alla select PHP 36
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
S Differenza tra le funzioni include () e require ()? PHP 1
P Ciclare tra array di oggetti PHP 1
B Incongruenze tra Mac ver e PC ver Photoshop 1
N Problema passaggio variabili tra pagine PHP 4
L estrarre valori max tra più tabelle MySQL 2
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
S Utilizzo variabili di sessione tra PC e server PHP 0
R Relazione tra tabelle MS Access 5
Tommy03 Query tra 3 tabelle MySQL 2
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
R passaggio variabili tra modulo genitore a figlio jQuery 3
P Passagio dati complessi tra una ASP.NET webapi e Angular ASP.NET 1
A [ASP] Confronto tra dati Form e DB Classic ASP 2
G [PHP] Passare dati tra record PHP 4
M [MS Access] Relazione tra maschere MS Access 1

Discussioni simili