2013-09-18 4 views
-1

Я записал некоторый код в php для регистрации пользователя, но если я нажму кнопку «Отправить», он не пишет в базе данных. Пожалуйста, помогите мне. Вот мой код ...не может вставлять данные в базу данных с помощью php

<!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 http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Register - Vatsal Technosoft Messenger</title> 

    <link href="Style/regstyle.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
    <?php include 'connect.php'; ?> 
    <?php include 'functions.php'; ?> 

    <div id="outer"> 
     <div id="companyname"></div> 

     <div class="container"> 
      <div id="formcontainer"> 
       <h3>Registration Form </h3> 
       <form name="register_form" action="" method="post"> 
<?php 
if(isset($_POST['register']) AND 
    isset($_POST['username']) AND 
    isset($_POST['password']) AND 
    isset($_POST['firstname']) AND 
    isset($_POST['lastname']) AND 
    isset($_POST['contact1']) AND 
    isset($_POST['address']) AND 
    isset($_POST['jobtitle'])) { 

     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $fname = $_POST['firstname']; 
     $lname = $_POST['lastname']; 
     $con1 = $_POST['contact1']; 
     $con2 = $_POST['contact2']; 
     $email = $_POST['email']; 
     $address = $_POST['address']; 
     $jobtitle = $_POST['jobtitle']; 

    if(empty($username) or 
     empty($password) or 
     empty($fname) or 
     empty($lname) or 
     empty($con1) or 
     empty($email) or 
     empty($address) or 
     empty($jobtitle)) { 

      $message = "All Information Is neccessary"; 

    } else { 

     $sql = mysql_query("INSERT INTO users VALUES (``,` $username `,` $password `,` $fname `,` $lname `,` $con1 `,` $address `,` $jobtitle `)"); 

     if($sql) {     
      $message = "OK....!";  
     } else {  
      $message = "BAD";  
     } 
    } 
     echo "<div class='box'> $message </div>"; 
    } 
?> 


        <div id="formtext"> 
         User Name :  <input type="text" name="username" style="width:200px;" autocomplete="off"/> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
         Passwrod :  <input type="password" name="password" autocomplete="off" style="width:200px;"/> 
         <br /><br /> 

         First Name : <input type="text" name="firstname" style="width:200px;" autocomplete="off" /> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
         Last Name : <input type="text" name="lastname" autocomplete = "off" style = " width:200px; "/> 
         <br /><br /> 

         Contact(1) : <input type="text" name="contact1" autocomplete="off" style="width:200px;" /> 
         &nbsp;&nbsp;&nbsp; 
         Contact(2) : <input type="text" name="contact2" autocomplete="off" style="width:200px;"/> 
         <br /><br /> 

         E-mail ID &nbsp;&nbsp;: <input type="text" name="email" autocomplete="off" style="width:300px;"/> 
         <br /><br /> 

         Address :<br /> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
         <textarea name="address" cols="25" rows="5" autocomplete="off" style="background: #333;color: #fff;border-radius:5px;border: 0px; margin-top:-20px;" placehoder="Address"></textarea> 
         <br /><br /> 
         Job Title &nbsp;&nbsp;: <input type="text" name="jobtitle" autocomplete="off" style="width:215px;"/> 
         <br /><br /><br /> 

         <input type="button" name="back" value="Back" style="width:100px; margin-left:95px;"/> 
         <input type="reset" name="reset" value="Reset" style="width:100px; margin-left:45px;"/> 
         <input type="submit" name="register" value="Register" style="width:100px; margin-left:45px;"/> 
        </div> 
       </form> 

      </div> 
     </div> 
    </div> 
</body> 
</html> 
+0

Нам нужна дополнительная информация. Есть ли ошибки? О, и не забудьте защитить свой сайт от инъекций SQL. Используйте подготовленные запросы ... –

+1

Вы не проверяете возвращаемое значение из 'mysql_query'. Попробуйте добавить вызов 'mysql_error()', и он покажет вам, что такое ошибка. В предположении, что ваш запрос в запросе неверен (обратные ссылки относятся к именам столбцов и таблиц, а не значениям), и вы также добавляете пустое поле в качестве первого значения - если это первичный ключ таблицы и это auto_increment, вам лучше не пропускать его. – andrewsi

+0

вам нужно изучить PHP. Этот код нарушил все мои стандарты PHP. XD –

ответ

1

Ваш вопрос, вероятно, эта строка:

$sql = mysql_query("INSERT INTO users VALUES (``,` $username `,` $password `,` $fname `,` $lname `,` $con1 `,` $address `,` $jobtitle `)"); 

Рекомендуется всегда объявлять имена столбцов в операторе INSERT, как это:

$sql = mysql_query("INSERT INTO `users` (`col1` , `col1` , `col3`) VALUES ('val1' , 'val2' , 'val3')"); 
Смежные вопросы