Recently I start to read about php and started my little task to make a simple program in which I would generate
two integers (each of them is in range of 0 - 50) and ask user to enter sum of these two numbers.
Program should check entered value, compare with correct value and print a message, but in may case it always print not set.
My problem is that no matter what I enter for sum my program get nothing as input.
Can someone tell me what I am doing wrong?
(I know that my english is bad but please have understanding.)
Here is my code:
<HTML><HEAD></HEAD>
<BODY>
<?php
// generating integers
for ($i=0;$i<=9;$i++){
$p[$i]=rand(0,50);
}
//print html tag <table>
echo "<table>";
for ($i=1;$i<=5;$i++){
echo "<tr><td><b>Zadatak $i.</b> Zbroj brojeva </td><td>".$p[$i-1]." i ".$p[$i+4]."</td> <td>iznosi : </td><td> ";
echo "<input type=\"text\" name=\"zad.$i\" value = \"\" size = \"20\"></td>";
echo "</tr>";
}
echo "</table>";
//buttons for submit i reset
echo "<br><input type = \"submit\" name =\"submit\" value = \"Predaj na ocjenjivanje\"/>";
echo " ";
echo "<input type = \"reset\" name = \"erase\" value = \"Brisanje svih unosa\"/>";
echo "</form>";
?>
<?php
}else{
//check if something is entered for first answer
if (isset($_POST['zad1'])){
$value = htmlspecialchars($_POST['zad1']);
echo "Entered value is ".$value;
}else{
echo "not set";
}
}
?>
</BODY>
</HTML>
problem with POST
Moderator: General Moderators
- Sekka
- Forum Commoner
- Posts: 91
- Joined: Mon Feb 18, 2008 10:25 am
- Location: Huddersfield, West Yorkshire, UK
Re: problem with POST
Where's your <form> tag? You need to wrap all form fields within form tags or it won't get posted. E.g.
Code: Select all
<form id="myform" action="./" method="post"><!-- Form Content --></form>- EverLearning
- Forum Contributor
- Posts: 282
- Joined: Sat Feb 23, 2008 3:49 am
- Location: Niš, Serbia
Re: problem with POST
First, if you haven't left some part out of code you posted, it's not gonna work. You have several syntax errors in there, missing opening <form> tag, unmatching curly braces etc.... But on assumption that your code runs, the reason why you always get 'not set' response is because input field in the form are named 'zad.1', 'zad.2' ..., and in your code you're checking for $_POST['zad1'], which doesn't exist.
So to make it work change your form fields to
.
You should have translated the text in your code , so that people can easily recognize what's its purpose. (Ne znaju svi tvoj maternji jezik
)
So to make it work change your form fields to
Code: Select all
echo "<input type=\"text\" name=\"zad$i\" value = \"\" size = \"20\"></td>";You should have translated the text in your code , so that people can easily recognize what's its purpose. (Ne znaju svi tvoj maternji jezik