form per inserimento dati

  • Creatore Discussione Creatore Discussione Xsil
  • Data di inizio Data di inizio

Xsil

Nuovo Utente
4 Giu 2009
2
0
0
Ciao,

sono una neofita e vorrei esporvi quello che per me è un problemone.
ho creato una pagina di prova composta solo da un form per l'inserimento di un valore e un tasto di "invio":

<form method="post" action="inserisci.php">
<input type="text" name="nome">
<input type="submit" name="submit" value="invia">
</form>

lo scopo sarebbe...inserire in una tabella ciò che è stato inserito una volta premuto il tasto "invia".
Mi funziona, però così facendo, si apre una pagina bianca, appunto quella denominata "inserisci.php" che in realtà per ora fa solo l'insert nella tabella. Non c'è un modo per non associare un'altro file .php nell'action, così da premere il tasto "invio", effettuare l'inserimento, e al massimo inviare un messaggio di operazione andata a buon fine, ma sempre sulla stessa pagina?

ho provato con l'opzione:
<form method="post" action="">
<input type="text" name="nome">
<input type="submit" name="submit" value="invia">
</form>

e qui sotto l'inserimento in tabella solo se il campo è valorizzato.Così mi viene dato prima un messaggio di campo vuoto e poi viene fatto l'inserimento. sembra quasi che faccia due volte il form.

Mi sapreste aiutare con qualche chiarimento?

grazie
ciao
Xsil
 
Non c'è un modo per non associare un'altro file .php nell'action, così da premere il tasto "invio", effettuare l'inserimento, e al massimo inviare un messaggio di operazione andata a buon fine, ma sempre sulla stessa pagina?
Certo.. puoi far generare al codice inserisci.php uno script javascript nel quale richiami un alert che informa dell'avvenuta operazione.
Devi, quindi, modificare ilo codice di inserisci.php, in modo che ad operazione avvenuta, esegua tale script. Per farlo banalmente scrivi in output del codice javascript... del tipo..
PHP:
<?
echo "<script type=\"text/javascript\">";

echo "alert(\"Operazione Andata a buion fine\");"

echo "</script>"';

?>

Se hai bisogno di altro sono quì! Ciao, Ciro
 
ciao

si puoi fare l'insert in una sola pagina (basta che qusta si .php).

ti faccio un esempio
HTML:
<?php
//questa è la parte di inserimento
if(isset($_POST['submit']){//verifichi che sia stato premuto il tasto invia
   $variabile=$_POST['nome'];//leggi cosa hai inserito
   /*
    qui fai tutto quello che devi fare con $variabile
  */

}//fine dell'if

?>
<!-- 
questo è il tuo form
al posto di # devi mettere il nome della pagina
oppure la variabile di php che legge il nome
ma questo è meglio in seguito quando sei più sicuro
-->
<form method="post" action="#">
<input type="text" name="nome">
<input type="submit" name="submit" value="invia">
</form>
 
grazie!

Ciao,

ho provato con il controllo sull'effettiva pressione del tasto invia e così funziona!
Grazie molte.
Per ora anche se il codice può essere bruttino, va bene così per essere la prima volta che effettuo un'operazione del genere. Migliorerò il codice in seguito.

grazie a tutti!
 
perchè a me questo metodo non funziona ????? non riesco proprio a capire ..

dove sbaglio ??? ad esempio questo script non và ....

PHP:
<?php

IF(isset($_POST['submit']))
{

?>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hai scelto categoria</title>
</head>
<body>
<?php
$sceltacategoria = $_POST['categoria'];
echo "Categoria:" . " " . $sceltacategoria;
echo "<br /><br />";
die("hai effettuato una scelta"); 

?>
</body>
</html>
<?php
}
else
{
?>

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Scegli categoria</title>


</head>

<body>

<form name="FORM"  method="post" action="" enctype="text" />

Scegli la categoria dei progetti da visionare
        <select name="categoria">
        <option value="A">A</option>
        <option value="B">B</option>
        <option value="C">C</option>
        </select>
<br /><br />
    <input type="submit" value="submit" />

    </form>
</body>
</html>
<?php
}
?>


perchè ????

stò impazzendo ..:eek:
 
Ultima modifica:
prova a sciverlo così (IF deve essere minuscolo e sentra troppi html/head e body)

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>

<body>
<?php 

if(isset($_POST['submit'])) 
{ 
$sceltacategoria = $_POST['categoria']; 
echo "Categoria:" . " " . $sceltacategoria; 
echo "<br /><br />"; 
die("hai effettuato una scelta");  

} 
else 
{ 
?> 
<form name="FORM"action="<?php htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">


Scegli la categoria dei progetti da visionare 
        <select name="categoria"> 
        <option value="A">A</option> 
        <option value="B">B</option> 
        <option value="C">C</option> 
        </select> 
<br /><br /> 
    <input type="submit" value="submit" /> 

    </form> 
<?php 
} 
?> 

</body>
</html>
 
Grazie Borgo !!

in verità ho risolto .. avevo molto semplicemente di aggiungere alla riga del submit il campo nome="nome da dare al submit" ..

demenza senile , che ci vuoi fare ...


Grazie comunque !!


Sempre gentilissimo e puntuale !

ciao

:)
 

Discussioni simili