2015-05-16 2 views
0

В моем файле index.php у меня есть два набора кодов. Один набор кода в значительной степени зависит от php и функции, тогда как другой набор кода использует только html. Я пытаюсь получить кнопку отправки, чтобы получить коды, чтобы перейти к файлу register.php, но только html-коды попадают в файл register.php, в то время как коды функций php просто сидят на одной странице при нажатии кнопку регистрации. Пожалуйста помоги. Благодарю.Кнопка отправки не работает в функциях PHP

Внутри PHP файл с именем functions.php У меня есть 3 функции:

<?php 

//**************************************************************** 

function echoForm($action){ 

echo "<method = 'post' action = '$action'>"; 

} 

//**************************************************************** 

function echoField($type,$name,$maxlength,$text){ 

if($type == 'text'){ 
echo "$text</br><input type = 'text' name='$name' size = '15' maxlength = '$maxlength'/></br>"; 
} 

else if($type == 'pass'){ 
echo "$text</br><input type = 'password' name = '$name' size = '15' maxlength = '$maxlength'/></br>"; 
} 

else if($type == 'submit'){ 
echo "<input type = 'submit' name = '$name' value = '$text'/>"; 
} 

} 

//**************************************************************** 

function echoText($text){ 

echo "$text</br>"; 

} 

?> 

Внутри PHP файл с именем index.php У меня есть основные коды:

<?php 

include('functions.php'); 

echoForm('register.php'); 
echoField('text','username','20','Username'); 
echoField('pass','password','20','Password'); 
echoField('text','email','50','Email'); 
echoField('submit','submit','null','Register'); 
echoText('</form></br>'); 

?> 

<html> 
<body> 

<form name = "form" method = "post" action = "register.php"> 

<input type = "text" name="username" size = "15" maxlength = "20" value=""/> 
<input type = "password" name = "password" size = "15" maxlength = "20" value=""/> 
<input type = "text" name = "email" size = "15" maxlength = "50" value=""/> 
<input type = "submit" name = "submit" value = "Register"/> 

</form> 

</body> 
</html> 
+0

Вам не хватает имени тега в 'echoForm()'. – Barmar

+1

Кажется, что вы создаете регистрационную форму дважды в 'index.php', используя ваши странные вспомогательные методы, а во второй раз более условно в HTML. Почему это? –

+0

... Потому что я пытаюсь использовать функции с этого момента, чтобы генерировать коды, а один работает в формате html, в то время как другой не работает в формате функции, и это потому, что мне не хватает тега из формат функций. @steveklein – iscattered

ответ

1

Внутри вашей первой функции PHP on, echoForm, вы пытаетесь открыть элемент формы HTML, но в вашем коде для этого отсутствует тег form. Это то, что у вас есть:

function echoForm($action){ 

    echo "<method = 'post' action = '$action'>"; 

} 

браузер интерпретирует это как <method> тег, который он не понимает, и. Чтобы увидеть его как форму, ваша функция должна быть переопределена, как показано ниже:

function echoForm($action){ 

    echo "<form method = 'post' action = '$action'>"; //notice I put `form` before the `method` attribute 

    } 
1
function echoForm($action){ 

echo "<method = 'post' action = '$action'>"; 

} 

изменить его

function echoForm($action){ 

echo "<form method = 'post' action = '$action'>"; 

} 
Смежные вопросы