View Full Version : [PHP] Richiamo funzione da form
bobby1112
17-11-2009, 21:18
ragazzi ho questa situazione:
<form method="post" name="metodo" action="esegui()">
<label>
<div align="center">
<input name="inserisci" type="text" id="inserisci" value="" size="70">
<input type="submit" name="Invia" id="Invia" value="Invia">
</div>
</label>
</form>
<?
function esegui()
{
include("script/Avvio.php");
echo "ciao".$_SESSION['user'];
}
?>
ma non va come faccio, la devo richiamare nella stessa pagina!!
ragazzi ho questa situazione:
ma non va come faccio, la devo richiamare nella stessa pagina!!
mumble... mi sa che ce un po di confusione.
Richiama la medesima pagina nel form...
<form method="post" name="metodo" action="pagina.php">
<form method="post" name="metodo" action="<? echo $_SERVER['PHP_SELF'] ?>">
<label>
<div align="center">
<input name="inserisci" type="text" id="inserisci" value="" size="70">
<input type="submit" name="Invia" id="Invia" value="Invia">
</div>
</label>
</form>
<?
if (isset ($_POST['submit']))
{
include("script/Avvio.php");
echo "ciao".$_SESSION['user'];
}
?>
se invii il form si ricarica la stessa pagina e viene controllata la condizione submit (cioè se il form è stato inviato)
non l'ho provato ma dovrebbe funzionare
L'errore è di tipo concettuale; non puoi richiamare funzioni lato-server (es. PHP) come faresti per funzioni lato-client (es. Javascript), perciò non puoi richiamare una funzione PHP in una "action" del codice HTML.
Se vuoi controllare i dati dovresti prima di tutto verificare se sono stati inseriti, e in caso contrario visualizzare quella form.
In pratica il tuo codice sarebbe più corretto così (fermo restando che in qualche altro punto tu abbia gestito la sessione e il valore di 'user', cosa che nello spezzone di codice che hai scritto manca completamente):
<?php
if ( isset($_POST['Invia']) )
{
include "script/Avvio.php";
echo "ciao".$_SESSION['user'];
}
else
{
echo <<<END
<form method="post" name="metodo" action="{$_SERVER['PHP_SELF']}">
<label>
<div align="center">
<input name="inserisci" type="text" id="inserisci" value="" size="70">
<input type="submit" name="Invia" id="Invia" value="Invia">
</div>
</label>
</form>
END;
}
?>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.