form: variabile php in una select

[email protected]

Nuovo Utente
19 Mar 2012
7
0
1
ciao a tutti! mi chiamo Laura :)
premetto che sono alle prime armi con php, vi spiego il mio problemino sperando di riuscire a spiegarmi e di riuscire a risolverlo!

ho un form composto da un campo testo e da una select in html, quello che io seleziono/digito in questa form mi viene scritto su un file di testo ok?
ora, io voglio (vorrei!) che quello che io scrivo manualmente nel campo testo mi vada nella mia select in modo tale che selziono la select mi scriva sul file di testo quello che avevo scritto nel campo testo, spero di essermi spiegata!

vi allego il mio codicillo, che ovviamente non mi funziona :-(
in pratica se io scrivo nel campo testo "laura" e selziono dalla select la voce che ho chiamato "1" nel file di testo che viene creato mi scriva 2 volte "laura"

non ci riescooo :-(
questo è il mio file php:
PHP:
<?php
$nome = $_POST['nome'];
$select = $_POST['select'];

//scrive la pagina .PHP
$fp = fopen("testo.txt", "a") or die("ERRORE: non riesco a creare la pagina PHP");
fwrite($fp, "$nome \n");
fwrite($fp, "$select \n");
fclose($fp);

if ($_POST['submit']) {
print "file aggiornato";
}
?>
<html>
<body>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table width="500" border="0" cellpadding="5" cellspacing="0">
<tr><td><input type="text" name="nome"></td></tr>
<tr><td>

<select size="1" name="select">
	<option value="">scegli</option>
	<option value="<?php echo $nome; ?>">1</option>
</select></td></tr></table>

<input type="submit" name="submit" value="submit">

</body></html>
 

[email protected]

Nuovo Utente
19 Mar 2012
7
0
1
dimenticavo!

al momento questo codice che vi ho postato mi da come risultato che se io scrivo laura e seleziono dalla select "1" mi scrive nel file di testo "laura",
se io lo rifaccio e scrivo "pippo" nel file di testo e seleziono "1" mi scrive "pippo" e "laura" :-( (lo tiene in memoria dalla volta prima?!)

scusate :-(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
credo proprio che tu non possa fare quello che chiedi (anche se non capisco a che ti serva inviare due volte lo stesso valore) solo con php, credo proprio che ti serva ajax o come minimo js
a parte quello (considerato che dici di essere alle prime armi).
1. metti la lettura dei post+la scrittura del txt tutta dentro il'if e usa l'isset
2. anche se con le novità di php sembrerebbe permesso per ora è meglio scrivere
action="<?php echo $_SERVER['PHP_SELF'];?> comunque alla fine ci vuole il ;
3. manca il tag di chiusura </form>

PHP:
<?php
if (isset($_POST['submit'])) {
	$nome = $_POST['nome'];
	$select = $_POST['select'];
	//scrive la pagina .PHP
	$fp = fopen("testo.txt", "a") or die("ERRORE: non riesco a creare la pagina PHP");
	fwrite($fp, "$nome \n");
	fwrite($fp, "$select \n");
	fclose($fp);
	print "file aggiornato";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<table width="500" border="0" cellpadding="5" cellspacing="0">
<tr><td><input type="text" name="nome"></td></tr>
<tr><td>

<select size="1" name="select">
    <option value="">scegli</option>
    <option value="<?php $nome; ?>">1</option>
</select></td></tr></table>

<input type="submit" name="submit" value="submit">
</form>

p.s.
benvenuta nel forum
 

[email protected]

Nuovo Utente
19 Mar 2012
7
0
1
grazie Borgo, adesso mi studio il tuo codice :)

questa cosa mi serve perchè ad esempio:
ho 2 campi testo "nome" e "cognome" e una select dove posso scegliere se stampare nome o cognome ma ovviamente queste 2 voci della select devono prendermi quello che io ho scritto nei 2 text box di prima quindi


PHP:
<?php
if ($_POST['submit']) {
print "file aggiornato";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$select = $_POST['select'];

//scrive la pagina .PHP
$fp = fopen("testo.txt", "w") or die("ERRORE: non riesco a creare la pagina PHP");
fwrite($fp, "dalla text box: >$nome <\n");
fwrite($fp, "dalla select: > $select <\n");
fclose($fp);


}
?>
<html>
<body>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table width="500" border="0" cellpadding="5" cellspacing="0">
<tr><td><input type="text" name="nome"> <input type="text" name="cognome"></td></tr>
<tr><td>

<select size="1" name="select">
    <option value="">scegli</option>
    <option value="<?php echo $nome; ?>">scrivi nome</option>
    <option value="<?php echo $cognome; ?>">scrivi cognome</option>
</select></td></tr></table>

<input type="submit" name="submit" value="submit">

</body></html>

quindi io scrivo nel mio testo.txt il nome o il cognome e poi dalla select ristampo o il nome oppure il cognome a seconda delle mie esigenze,
sembrerà una cosa inutile ma per quello che ho in mente io è utilissimo! :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se usi "visualizza sorgente del browser" ti accorgi perche non funzia.
1. chiami la pagina e guarda il sorgente, la select ti risulta

<select size="1" name="select">
<option value="">scegli</option>
<option value="">scrivi nome</option>
<option value="">scrivi cognome</option>
</select>
2. scrivi pinco pallo (se dopo scritto e prima del submit riguardi il sorgente vedi che le option hanno ancora value="")
3. dai il submit e ti si visualezza "file aggiornato", se a questo punto guardi il sorgente vedi che le option hanno il valore
<select size="1" name="select">
<option value="">scegli</option>
<option value="pinco">scrivi nome</option>
<option value="pallo">scrivi cognome</option>
</select>
4. scrivi sofonisba e asdrubale, e submit, i valori trasmessi sono sofonisba asdrubale e pinco o pallo (in funzione di cosa hai selezionato)
cioè i valori delle option sono sempre sempre in ritardo di un valore
puoi accorgertene anche mettendo
PHP:
<?php
if ($_POST['submit']) {
print "file aggiornato";
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$select = $_POST['select'];
echo "ho scritto il nome $nome<br>";
echo "e il cognome $cognome<br>";
echo "e ho selezionato $select<br>";
//...
?>
se ci pensi è logico:
php opera lato server: cioè il server deve avere prima una richiesta dal bw (il submit in questo caso) poi elabora e risponde
a te serve qualcosa che operi lato client, cioè prima che il bw invii la richiesta, quindi o javascrip o ajax
 

[email protected]

Nuovo Utente
19 Mar 2012
7
0
1
si Borgo penso tu abbia ragione, hai centrato il problema
purtroppo però non ho idea di come risolvere con javascript, in pratica cosa dovrei fare? :eek:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ti conviene postare nella sezione js o ajax (io ho una certa infarinatura di php, ma js non riesco a farmelo entrare in testa) penendo il problema di riempire le select coi valori dei campi di input
 
Discussioni simili
Autore Titolo Forum Risposte Data
C E' possibile assegnare all' attributo name di un form html il nome di una variabile php? PHP 6
M Form html-php, la pagina php non mi rileva la variabile PHP 5
A form prenotazione: variabile non richiamata jQuery 2
gandalf1959 Aggiornamento di una variabile da un form PHP 7
F Problema con passaggio variabile da form PHP 3
Z [VB6] Variabile Booleana e Load Form Visual Basic 1
asevenx inserire dati da form con nome variabile PHP 0
A @$_POST non riceve la variabile input contenuta in un Form PHP 6
I Passare variabile da Form PHP 1
P Passare solo una variabile di un form a pagina principale Javascript 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
AC1 Form in finestra modale PHP 1
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8
L form multipla php sql,errore in inserimento MySQL 0
L inviare i dati di un form ad un database PHP 6
L Collegare un form html ad un database access Javascript 2
L creare oggetti da una classe tramite un form Javascript 0
G Impostare suggerimenti campo text di un form Javascript 2
S Problemi di visualizzazione form contatti sito web HTML e CSS 2

Discussioni simili