Aiuto! Bottone inserito da codice non funziona

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. Apro questa discussione per chiedervi un aiuto.

Vi spiego il problema. Se nel form inserisco un bottone nel codice php e successivamente lo richiamo, questo non funziona, mentre se lo inserisco nel codice html è tutto ok.

Se ad esempio nel codice php scrivo
PHP:
echo "<input type = 'submit' name = 'submit' value = 'OK'>";
mi inserisce nel form il bottone.

Successivamente se scrivo
PHP:
if (isset ($_POST['submit']))
{

...parte restante del codice
il bottone non da alcun segno di vita e non mi genera alcun errore!!!

La stessa cosa riguarda anche gli altri elementi, come ad esempio gli input text, radio button etc.

Qualcuno sa darmi una spiegazione?

Ciao, grazie.
 
Ciao, metti var_dump($_POST) a inizio pagina e vedi cosa ti stampa, se non riesci posta il form completo perchè cosi non si capisce.
 
ciao
perche dici che non funziona?
<?php
if (isset ($_POST['submit'])){
echo "tutto OK<br>";
}
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<input type = 'submit' name = 'submit' value = 'OK'>";
echo "</form>";
?>
output tutto OK
 
Ciao, grazie mille per l'aiuto. Adesso grazie al vostro aiuto mi funziona.

Vi chiedo solo un ultimissima gentilezza: ho inserito un bottone seguendo il consiglio di borgo italia, ma se lo clicco mi genera questi errori:
"Notice: Undefined index: valore1 in ..."
"Notice: Undefined index: valore2 in ..."
"Notice: Undefined index: valore3 in ..."
"Notice: Use of undefined constant val2 - assumed 'val2' in ..."
"Notice: Use of undefined constant val3 - assumed 'val3' in ..."

Mi sapreste dire dove sbaglio? Dal codice che vi posto potete vedere che si tratta di un form molto banale.

Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="it" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
<form method="post">
      Valore 1 <input name="valore1" type="text" />
    <br />
    <br />
    Valore 2 <input name="valore2" type="text" />
    <br />
    <br />
    Valore 3 <input name="valore3" type="text" />
    <br />
    <br />  
</form>
<?php   
    echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
    echo "<input type = 'submit' name = 'submit' value = 'OK'>";
    echo "</form>";
    if (isset ($_POST['submit']))
    {
      $val1 = $_POST['valore1'];
      $val2 = $_POST['valore2'];
      $val3 = $_POST['valore3'];
      $Totale = $val1 + val2 + val3;
      echo $Totale;
    }
?>
</body>
</html>
 
ciao
i campi di input sono fuori dal form che invii col submit
o fai cosi
PHP:
</head>
<body>
<?php  
    echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
    echo "Valore 1 <input name='valore1' type='text' /><br>";
    echo "Valore 2 <input name='valore2' type='text' /><br>";
    echo "Valore 3 <input name='valore3' type='text' /><br>";
    echo "<input type = 'submit' name = 'submit' value = 'OK'>";
    echo "</form>";
    if (isset ($_POST['submit']))
    {
      $val1 = $_POST['valore1'];
      $val2 = $_POST['valore2'];
      $val3 = $_POST['valore3'];
      $Totale = $val1 + val2 + val3;
      echo $Totale;
    }
?>
</body>
oppure così
PHP:
</head>
<body>  
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Valore 1 <input name='valore1' type='text' /><br>
    Valore 2 <input name='valore2' type='text' /><br>
    Valore 3 <input name='valore3' type='text' /><br>
    <input type = 'submit' name = 'submit' value = 'OK'>
    </form>
<?php
    if (isset ($_POST['submit']))
    {
      $val1 = $_POST['valore1'];
      $val2 = $_POST['valore2'];
      $val3 = $_POST['valore3'];
      $Totale = $val1 + val2 + val3;
      echo $Totale;
    }
?>
 
ciao zorro
una piccola lezione sugli apici
a parte alcune considerazioni basate sulle performance dello script, come vengano messi gli apici ha poca importanza,
l'importante è che PHP capisca dove inizia e finisce la stringa, esempio
PHP:
<?php
echo "pinco pallo";
echo 'pinco pallo';
?>
sono in questo caso equivalenti, le seguenti no
PHP:
<?php
$stringa ="pinco pallo";// qui è lo stesso di $stringa ='pinco pallo';
echo "il valore è $stringa";//output => il valore è pinco pallo
echo 'il valore è $stringa';//output => il valore è $stringa
?>
inoltre se all'interno di una stringa ai degli apici si deve far capire a PHP che gli apici interni non sono un inizio/fine stringa ma che devono essere stampati
esempio
PHP:
<?php  
    echo "Valore 1 <input name='valore1' type='text' /><br>";
?>
<?php  
    echo 'Valore 1 <input name="valore1" type="text" /><br>';
?>
<?php  
    echo "Valore 1 <input name=\"valore1\" type=\"text\" /><br>";// la sequenza di escape \" fa capire che gli apici interni sono da stampare
?>
<?php  
    echo 'Valore 1 <input name=\'valore1\' type=\'text\' /><br>';// la sequenza di escape \" fa capire che gli apici interni sono da stampare
?>
 
Ciao ragazzi. Grazie mille per l'aiuto e grazie mille per le spiegazioni. Adesso mi funziona tutto alla perfezione. Spero di poter ricambiare in qualche modo. Ciao. :)
 

Discussioni simili