2015-03-25 2 views
-3

Я установил регистрационную форму, и моя кнопка отправки не пройдет, чтобы заполнить мою базу данных регистрационной информацией. Снайпер кода показывает начало моей формы и некоторые поля, которые включены в нее.Кнопка отправки не отправляется на форму

У меня было это настроено в таблице, а не в форме, и это, казалось, работало, но когда я изменил его на форму, он прекратил работать. Я посмотрел на несколько других ссылок здесь, таких как этот HTML PHP Contact Form - Submit Button Not Working? Or PHP Issue? Но я не могу заставить его работать.

Любая помощь приветствуется, спасибо.

<div class = "contact"> 
 
\t \t <form class="form-horizontal" role="form" method="post" action=" <?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> "> 
 
\t \t <div class="form-group"> 
 
\t \t \t <label for="name" class="col-sm-2 control-label">Username:</label> 
 
\t \t \t <div class="col-sm-10"> 
 
\t \t \t \t <input type="text" class="form-control" id="username" name="username" value="<?php echo $username ?>"> 
 
\t \t \t \t <span class="error"><?php echo getErrorMessage('username', $error); ?></span> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t \t 
 
\t \t <div class="form-group"> 
 
\t \t \t <label for="password" class="col-sm-2 control-label">Password:</label> 
 
\t \t \t <div class="col-sm-10"> 
 
\t \t \t \t <input type="password" class="form-control" id="password" name="password" value="<?php echo $password ?>"> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t 
 
\t \t <div class="form-group"> \t 
 
\t \t \t <label for="conPass" class="col-sm-2 control-label">Confirm Password:</label> 
 
\t \t \t <div class="col-sm-10"> 
 
\t \t \t \t <input type="password" class="form-control" id="conPassword" name="conPassword" value="<?php echo $conPass ?>"> 
 
\t \t \t </div> 
 

 
\t \t <div class="col-sm-10"> 
 
\t \t \t <input id="button" name="reg" type="submit" value="Register" class="btn btn-primary"> 
 
\t \t </div> \t 
 
\t \t </div> <!-- registration button --> 
 
\t \t 
 
\t \t </form> 
 
\t </div> <!-- registration end -->

EDIT: моя форма остановилась представление информации в базу данных после того, как я попытался проверить это, извините за неполные сообщения очень новых для Stack Overflow

<?php 
 
\t include "config.php"; 
 

 
\t //error_reporting(0); 
 
    
 
/* \t $username = $_POST['username']; 
 
\t $password = md5($_POST['password']."ALS52KA09W"); 
 
\t $conPass = md5($_POST['conPass']."ALS52KA09W"); 
 
\t $telephone = $_POST['telephone']; 
 
\t $address1 = $_POST['address1']; 
 
\t $town = $_POST['town']; 
 
\t $postcode = $_POST['postcode']; 
 
\t $forename = $_POST['forename']; 
 
\t $surname = $_POST['surname']; 
 
\t $email = $_POST['email']; */ 
 
\t 
 
\t //declaring variables as empty strings 
 
\t $username = $forename = $surname = $email = $telephone = $address1 = $town = $postcode =""; 
 
\t $error = array(); 
 
\t 
 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
 
\t  if (empty($_POST["username"])) 
 
\t \t { 
 
     $error['username'] = "* Username is required"; 
 
\t \t } else { 
 
     $username = test_input($_POST["username"]); 
 
\t \t \t if (!preg_match("/^[a-zA-Z ]*$/",$username)) 
 
\t \t \t { 
 
\t \t \t $error['username'] = "* Only letters and white space allowed in name"; 
 
\t \t \t }// end if 
 
\t \t \t \t } //end username 
 
\t \t  
 
\t  if (empty($_POST["forename"])) 
 
\t \t { 
 
     $error['forename'] = "* Forename is required"; 
 
\t \t } else { 
 
     $forename = test_input($_POST["forename"]); 
 
\t \t \t if (!preg_match("/^[a-zA-Z ]*$/",$forename)) 
 
\t \t \t { 
 
\t \t \t $error['forename'] = "* Only letters and white space allowed in forename"; 
 
\t \t \t }// end if 
 
\t \t \t \t } //end forename 
 
\t \t \t 
 
\t  if (empty($_POST["surname"])) 
 
\t \t { 
 
     $error['surname'] = "* Surname is required"; 
 
\t \t } else { 
 
     $surname = test_input($_POST["surname"]); 
 
\t \t \t if (!preg_match("/^[a-zA-Z ]*$/",$surname)) 
 
\t \t \t { 
 
\t \t \t $error['surname'] = "* Only letters and white space allowed in forename"; 
 
\t \t \t }// end if 
 
\t \t \t \t } //end surname 
 
\t \t  
 
\t \t if (empty($_POST["email"])) 
 
\t \t { 
 
\t \t \t $error['email'] = "* Email is required"; 
 
\t \t } else { 
 
\t \t \t $email = test_input($_POST["email"]); 
 
\t \t \t // check if e-mail address syntax is valid 
 
\t \t \t if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
 
\t \t \t { 
 
\t \t \t \t $error['email'] = "* Invalid email format"; 
 
\t \t \t } 
 
\t \t \t } //end email validation 
 
\t \t  
 
\t \t if (empty($_POST["telephone"])) 
 
\t \t { 
 
\t \t \t $error['telephone'] = "* Telephone is required"; 
 
\t \t } else { 
 
\t \t \t \t $telephone = test_input($_POST["telephone"]); 
 
\t \t \t \t // check telephone only contains numbers and is length 11 
 
\t \t \t if((preg_match("/[^0-9]/", '', $str)) && strlen($str) == 11) 
 
\t \t \t { 
 
\t \t \t \t $error['telephone'] = "* Please enter a valid telephone number"; 
 
\t \t \t } 
 
\t \t \t \t } //end telephone validation 
 
\t \t  
 
\t \t /* if (empty($_POST["address1"])) 
 
\t \t { 
 
\t \t \t $error['address1'] = "* Address is required"; 
 
\t \t } else { 
 
\t \t \t $address1 = test_input($_POST["address1"]); 
 
\t \t \t // check if address has letters and numbers 
 
\t \t \t if (!preg_match("/([A-Za-z0-9]+)/", $address1)) 
 
\t \t \t { 
 
\t \t \t \t $error['address1'] = "* The address field must contain numbers and letters "; 
 
\t \t \t } 
 
\t \t \t } //end address validation */ 
 
\t 
 
\t \t if (empty($_POST["town"])) 
 
\t \t { 
 
\t \t \t $error['town'] = "* Town is required"; 
 
\t \t } else { 
 
\t \t \t \t $town = test_input($_POST["town"]); 
 
\t \t \t \t // check town only contains letters and whitespace 
 
\t \t \t if (!preg_match("/^[a-zA-Z ]*$/",$town)) 
 
\t \t \t { 
 
\t \t \t \t $error['town']= "* Only letters and white space allowed"; 
 
\t \t \t } 
 
\t \t \t \t } //end town validation 
 
\t \t  
 
\t \t if (empty($_POST["postcode"])) 
 
\t \t { 
 
\t \t \t $error['postcode'] = "Postcode is required"; 
 
\t \t } else { 
 
\t \t \t \t $postcode = test_input($_POST["postcode"]); 
 
\t \t \t \t // check postcode validation and syntax 
 
\t \t \t if (preg_match ("^[A-Z]?[A-Z][0-9][A-Z0-9]?\s[0-9][A-Z]{2}$^", $postcode)) 
 
\t \t \t { 
 
\t \t \t \t $error['postcode'] = "Wrong postcode syntax. Valid syntax = XX00 0XX"; 
 
\t \t \t } 
 
\t \t \t \t } //end postcode validation 
 
\t \t \t  
 
\t if (!count($error)) { 
 
     $noError = true; 
 
    } 
 
} //end server request method 
 
\t \t  
 
\t $successMessage = isset($noError) ? 'Thank you for registering with us.' : ''; 
 

 
\t function test_input($data) { 
 
\t \t $data = trim($data); 
 
\t \t $data = stripslashes($data); 
 
\t \t $data = htmlspecialchars($data); 
 
\t \t return $data; 
 
\t } 
 

 
\t function getErrorMessage($type, $error) 
 
\t { 
 
\t \t return isset($error[$type]) ? $error[$type] : ''; 
 
\t } 
 
\t 
 

 

 
\t //Registration point 
 
\t if(isset($username,$password,$conPass,$forename,$surname,$email,$telephone,$address1,$town,$postcode)) 
 
\t { 
 
\t \t if($password == $conPass) 
 
\t \t { 
 
\t \t \t $q = $db->prepare("SELECT * FROM user WHERE username = ?"); 
 
\t \t \t $query = $q-> execute(array($username)); 
 
\t \t \t $count = $q->rowCount(); 
 
\t \t \t if($count == 0) 
 
\t \t \t { 
 
\t \t \t \t $query = $db->prepare("INSERT INTO user SET username = ?, password = ?, forename = ?, surname = ?, email = ?, telephone = ?, address1 = ?, 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t town = ?, postcode = ?"); 
 
\t \t \t \t $query = $query->execute(array($username,$password,$forename,$surname,$email,$telephone,$address1,$town,$postcode)); 
 
\t \t \t \t \t if($query){ 
 
\t \t \t \t \t \t echo $successMessage; 
 
\t \t \t \t \t \t header("Location:home2_template.html"); 
 
\t \t \t \t \t \t return; 
 
\t \t \t \t \t } 
 
\t \t \t }else{ 
 
\t \t \t \t echo "This user already exists"; 
 
\t \t \t } 
 

 
\t \t }else{ 
 
\t \t \t echo "Your passwords do not match"; 
 
\t \t } //Error checking 
 
\t } 
 
\t 
 

 
?>

Это мой полный скрипт PHP для заполнения даты стихать. Все, что находится ниже // Замечание о точке регистрации должно работать так, как оно работало, прежде чем я добавил что-нибудь выше.

+1

«он остановился». Что перестало работать: ваша форма перестала подаваться или ваш php-скрипт не видел переменные формы. Если последний, вы можете показать свой PHP-код, который должен обрабатывать отправку формы? – NaijaProgrammer

+1

'Я установил регистрационную форму, и моя кнопка отправки не пройдет, чтобы заполнить мою базу данных регистрационной информацией. Snipet кода показывает начало моей формы и некоторые поля, которые включены в нее. '-> Затем проверьте код входа в базу данных, потому что ваш код отправляется в моем случае. И еще одна вещь, пожалуйста, опубликуйте полную работу, вы не можете разместить синтаксис html и спросить, почему моя запись в базе данных не работает. – Nepal12

+0

Я добавил свой php-код ниже, и я попробовал добавить метод = «сообщение» в форму но он все еще не работает. – Stuart

ответ

0

Я не объявлял переменные $ password и $ conPass в верхней части моего документа, и это то, что остановило кнопку отправки, чтобы не работать.

Спасибо за вход кого-либо на этом посту.

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