enter code here
我在使用$ _POST和/或$ _GET方面遇到了困难。它不会让我检索我插入表单的任何属性。
这是我的功能;
<?php
function createTextField($label, $name, $size, $defaultValue)
{
//print our paragraph
echo '<p>';
//print our label
echo "<label>$label: </label>";
echo '<input type="text" name="'.$name.' size="'.$size.'" value="'.$defaultValue.'"';
echo '</p>';
}
function createTextArea($label, $name, $cols, $rows, $defaultValue)
{
//print our paragraph
echo '<p>';
//print out label
echo "<label>$label: </label>";
echo '<textarea value ="'.$text.'" rows="4" cols="50"></textarea>';
echo '</p>';
}
function createRadioButtons($label, $name, $choice1, $choice2, $choice3)
{
//print our paragraph
echo '<p>';
//print our label
echo "<label>$label: </label>";
echo '<input type="radio" name="'.$radio.'" value=value>'.$choice1.'';
echo '<input type="radio" name="'.$radio.'" value=value>'.$choice2.'';
echo '<input type="radio" name="'.$radio.'" value=value>'.$choice3.'';
echo '</p>';
}
function createDropDown($label, $name, $option1, $option2, $option3, $option4)
{
//print our paragraph
echo '<br>';
//print our label
echo "<label>$label: </label>";
echo '<select name="'.$option.'">
<option value="option">'.$option1.'</option>
<option value="option">'.$option2.'</option>
<option value="option">'.$option3.'</option>
<option value="option">'.$option4.'</option>
</select>';
echo '</p>';
}
然后是我的表格;
<form action="questionnaire_results.php" method="post">
<h2>Questionnaire:</h2>
<?php
// create TextField
echo '<div style="width:520px;height:175px;border:3px solid black;">';
createTextField('Name', 'label', 'size', '');
createTextField('Age', 'label', 'size = 5', '');
createTextField('Address', 'label', 'size = 30', '1000 1st St. Seattle, Wa 98999');
createTextField('Address (cont)', 'label', 'size = 10', 'APT 13');
echo '</div><br>';
//create TextArea
echo '<div style="width:520px;height:175px;border:3px solid black;">';
createTextArea('Short biography', 'label', 'cols', 'rows', 'defaultValue');
createTextArea('Extra Notes', 'label', 'cols', 'rows', 'defaultValue');
echo '</div><br>';
//create RadioButtons
echo '<div style="width:520px;height:75px;border:3px solid black;">';
createRadioButtons('Gender', 'name', 'Male', 'Female', 'Other');
createRadioButtons('Employment', 'name', 'Employed', 'Not Employed', 'Not sure');
echo '</div><br>';
//create DropDown
echo '<div style="width:520px;height:50px;border:3px solid black;">';
createDropDown('Did you like this questionnaire?', 'name', 'Yes', 'Sort Of', 'Maybe', 'No');
echo '</div><br>';
?>
<br>
<input type="submit" value="Submit Questionnaire Answers!">
</p>
</form>
</body>
最后我的结果现在似乎不起作用:
$name = '.name.';
$address = 'address';
$text = 'text';
$notes = 'notes';
$radio = 'radio';
$option = 'option';
if (!empty($_POST['name'])) {
$name = $_POST['name'];
echo "Name: $name<br>";
} else {
echo 'Name field cannot be empty!<br>';
}
if (!empty($_POST['address'])) {
$name = $_POST['address'];
echo "Address: $address<br>";
} else {
echo 'Address field cannot be empty!<br>';
}
if (!empty($_POST['text'])) {
$name = $_POST['text'];
echo "Short Biography: $notes<br>";
} else {
echo 'Notes field cannot be empty!<br>';
}
if (!empty($_POST['radio'])) {
$name = $_POST['radio'];
echo "Gender: $radio<br>";
} else {
echo '';
}
if (!empty($_POST['option'])) {
$name = $_POST['option'];
echo "Employment: $option<br>";
} else {
echo '';
}
?>
答案 0 :(得分:1)
您的表单元素必须用form tag括起来,否则不会发布任何内容。
您应该在表单中添加一个按钮以提交表单数据。
<input type="submit" value="Submit">
这是一个例子:
<?php
echo '<div style="width:520px;height:175px;border:3px solid black;">';
echo '<form action="yourScript.php" method="post">';
// your form fields
// createTextField(...);
//createTextArea(...);
//create RadioButtons
//create DropDown
echo '<input type="submit" value="Submit">';
echo '</form>';
您的代码存在许多问题。 您可以像这样渲染文本字段:
function createTextField($label, $name, $size, $defaultValue) {
// ...
echo '<input type="text" name="'.$name.' size="'.$size.'" value="'.$defaultValue.'"';
// ...
}
但你调用这样的函数是:
createTextField('Name', 'label', 'size', '');
createTextField('Age', 'label', 'size = 5', '');
现在变量$name
将包含文字&#39;标签&#39;,$size
将包含文字&#39;尺寸&#39;等等。
这将呈现以下无效 html:
<input type="text" name="label size="size" value=""
<input type="text" name="label size="size = 5" value=""
有几个问题:
以下内容应该是正确的,但我没有对其进行测试:
function createTextField($label, $name, $size, $defaultValue) {
// ...
echo '<input type="text" name="'.$name.'" size="'.$size.'" value="'.$defaultValue.'"></input>';
// ...
}
你就这样称呼它
createTextField('Name', 'name', '5', '');
我建议你先阅读一些关于php和html的教程。 这个site可能对您有帮助,它包含一个包含教程的部分,但如果您在网上搜索,您会找到许多其他资源。
答案 1 :(得分:0)
检查一下。它会工作!!!
echo '<form action="result.php" />';
echo '<div style="width:520px;height:175px;border:3px solid black;">';
createTextField('Name', 'label', 'size', '');
createTextField('Age', 'label', 'size = 5', '');
createTextField('Address', 'label', 'size = 30', '1000 1st St. Seattle, Wa 98999');
createTextField('Address (cont)', 'label', 'size = 10', 'APT 13');
echo '</div><br>';
//create TextArea
echo '<div style="width:520px;height:175px;border:3px solid black;">';
createTextArea('Short biography', 'label', 'cols', 'rows', 'defaultValue');
createTextArea('Extra Notes', 'label', 'cols', 'rows', 'defaultValue');
echo '</div><br>';
//create RadioButtons
echo '<div style="width:520px;height:75px;border:3px solid black;">';
createRadioButtons('Gender', 'name', 'Male', 'Female', 'Other');
createRadioButtons('Employment', 'name', 'Employed', 'Not Employed', 'Not sure');
echo '</div><br>';
//create DropDown
echo '<div style="width:520px;height:50px;border:3px solid black;">';
createDropDown('Did you like this questionnaire?', 'name', 'Yes', 'Sort Of', 'Maybe', 'No');
echo '</div><br>';
echo '<input type="submit" name="submit" value="submit" />';
echo "</form>";
<?php
if (!empty($_POST['name'])) {
$name = $_POST['name'];
echo "Name: $name<br>";
} else {
echo 'Name field cannot be empty!<br>';
}
if (!empty($_POST['address'])) {
$name = $_POST['address'];
echo "Address: $address<br>";
} else {
echo 'Address field cannot be empty!<br>';
}
if (!empty($_POST['text'])) {
$name = $_POST['text'];
echo "Short Biography: $notes<br>";
} else {
echo 'Notes field cannot be empty!<br>';
}
if (!empty($_POST['radio'])) {
$name = $_POST['radio'];
echo "Gender: $radio<br>";
} else {
echo '';
}