2013-05-07 3 views
-1

Я разработал контактную форму с помощью HTML начальной загрузки, но я не знаю, как заставить его работать. У меня есть следующий код. Я видел несколько обучающих онлайн, которые использовали php, чтобы получить контактную форму, но у меня нет никаких знаний о php. Кто-нибудь может мне с этим помочь. Буду признателен, если кто-нибудь поможет мне получить мою работу. Ниже приведено то, что у меня есть до сих порКак создать свою форму. Я разработал его с помощью бутстрапа. Я не знаю php.

<form method="POST" action="contact-form-submission.php" class="form-horizontal"> 

<div class="control-group"> 

    <label class="control-label" for="name">Name</label> 

    <div class="controls"> 

     <input type="text" class="input-medium" id="name"> 

    </div> 

</div> 

<div class="control-group"> 

    <label class="control-label" for="email">Email</label> 

    <div class="controls"> 

     <input type="text" class="input-medium" id="email"> 

    </div> 

</div> 

<div class="control-group"> 

    <label class="control-label" for="website">Website</label> 

    <div class="controls"> 

     <input type="text" class="input-medium" id="website"> 

    </div> 

</div> 

<div class="control-group"> 

    <label class="control-label" for="comment">Comment</label> 

    <div class="controls"> 

     <textarea class="input-medium" id="comment" rows="5"></textarea> 

    </div> 

</div> 

<div class="form-actions"> 

    <button type="submit" class="btn btn-danger">Submit</button> 

    <button type="reset" class="btn">Reset</button> 
    <input type="hidden" name="thankyou_url" value="#"> 

</div> 

</form> 
+2

Вы запрашиваете у кого-нибудь код серверной страницы вашей контактной формы для вас? Если да, почему бы вам не взять один бесплатный скрипт PHP, который вы можете найти в Интернете? –

+1

Я согласен с @AurelioDeRosa. Я также рекомендую вам изучить некоторые основы PHP. Каждый веб-дизайнер знает, как закодировать часть своей контактной формы на стороне сервера. – akash4eva

+0

Никто не может сделать это за вас. Просмотрите запросы GET и POST с помощью PHP. После этого попытайтесь выяснить AJAX, чтобы ваша форма ответила так, как люди ожидают ее. – noel

ответ

2

Используйте приведенную ниже страницу и назовите ее как contact.php. Создайте еще один html под названием «thanks.html». Он будет показан после того, как пользователя отправить форму

<?php 
    $from ="[email protected]"; 
    if(isset($_POST) && count($_POST)){ 
     $name = (isset($_POST['name'])) : trim($_POST['name']) : ""; 
     $email = (isset($_POST['email'])) : trim($_POST['email']) : ""; 
     $website = (isset($_POST['website'])) : trim($_POST['website']) : ""; 
     $comment = (isset($_POST['comment'])) : trim($_POST['comment']) : ""; 

     if(!empty($email)){ 
      $subject = "new mail"; 
      $content ="A user has send email<br /> 
      name: $name<br /> 
      email: $email<br /> 
      website: $website<br /> 
      comment: $comment<br />"; 

      $headers = "From: $from\r\n"; 
      $headers .= "Content-type: text/html\r\n"; 
      mail($email, $subject, $content, $headers); 
      header("location:thanks.html"); 

     } 
    } 
?> 
<!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>Untitled Document</title> 
</head> 
<body> 
<form method="POST" action="" class="form-horizontal"> 
    <div class="control-group"> 
    <label class="control-label" for="name">Name</label> 
    <div class="controls"> 
     <input type="text" class="input-medium" id="name" name="name"> 
    </div> 
    </div> 
    <div class="control-group"> 
    <label class="control-label" for="email">Email</label> 
    <div class="controls"> 
     <input type="text" class="input-medium" id="email" name="email"> 
    </div> 
    </div> 
    <div class="control-group"> 
    <label class="control-label" for="website">Website</label> 
    <div class="controls"> 
     <input type="text" class="input-medium" id="website" name="website"> 
    </div> 
    </div> 
    <div class="control-group"> 
    <label class="control-label" for="comment">Comment</label> 
    <div class="controls"> 
     <textarea class="input-medium" id="comment" name="comment" rows="5"></textarea> 
    </div> 
    </div> 
    <div class="form-actions"> 
    <button type="submit" class="btn btn-danger">Submit</button> 
    <button type="reset" class="btn">Reset</button> 
    <input type="hidden" name="thankyou_url" value=""> 
    </div> 
</form> 
</body> 
</html> 
0

вы следовать следующие шаги:

1.Create таблицы в бывших базах данных. Data

CREATE TABLE IF NOT EXISTS `user_data` (
    `userid` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(200) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `comment` varchar(255) NOT NULL, 
    `website` varchar(255) NOT NULL, 
    PRIMARY KEY (`userid`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 

2. Теперь Измените HTML-код, как следовать присвоить имена для каждого поля ввода:

<form method="POST" action="contact-form-submission.php" class="form-horizontal"> 

    <div class="control-group"> 

     <label class="control-label" for="name">Name</label> 

     <div class="controls"> 

     <input type="text" class="input-medium" id="name" name="name"> 

     </div> 

    </div> 

    <div class="control-group"> 

     <label class="control-label" for="email">Email</label> 

     <div class="controls"> 

     <input type="text" class="input-medium" id="email" name="email"> 

     </div> 

    </div> 

    <div class="control-group"> 

     <label class="control-label" for="website">Website</label> 

     <div class="controls"> 

     <input type="text" class="input-medium" id="website" name="website"> 

     </div> 

    </div> 

    <div class="control-group"> 

     <label class="control-label" for="comment">Comment</label> 

     <div class="controls"> 

     <textarea class="input-medium" id="comment" rows="5" name="comment"></textarea> 

     </div> 

    </div> 

    <div class="form-actions"> 

     <button type="submit" class="btn btn-danger">Submit</button> 

     <button type="reset" class="btn">Reset</button> 
     <input type="hidden" name="thankyou_url" value="http://www.sarahmustafa.com/contact.html"> 
    </div> 
</form> 

3.Now Изменить Вы контакт-форму-submission.php следующим образом и изменить TTable имя что если вы хотите:

$dbhost='localhost';//you can change to your host (www.google/fff/fff') 
$dbuser='root';//you can change to your Username of DB (ex. root) 
$dbpass='';//you can change to your Password (ex. '') 
$dbname='Data';//you can change to your Database created on DB (ex.user_data) 


db_connect($dbhost,$dbuser,$dbpass,$dbname); 
$name=$_POST["name"]; 
$email=$_POST["email"]; 
$website=$_POST["website"]; 
$comment=$_POST["comment"]; 
//change the field to actual Databse fields 
$sql="INSERT INTO `user_data` (`name`,`email`,`comment`,`website`) VALUES ('$name','$email','$comment','$website')"; 
$result=mysql_query($sql); 



function db_connect($dbhost,$dbuser,$dbpass,$dbname) 
{ 
    $conn = mysql_pconnect($dbhost,$dbuser,$dbpass); 
    if (!$conn) 
     return "connect_failed"; 

    if (!mysql_select_db($dbname)) 
     return "db_select_failed"; 
    return "succes"; 
} 
+1

НЕТ НЕТ НЕТ НЕТ НЕТ НЕТ НЕТ не слепо ставить пользовательские данные, генерируемые в вашем SQL запроса. Вместо этого используйте подготовленные заявления. Вы только открываете SQL-инъекцию с помощью этого кода. – yaakov

+0

@codran +1. На этом сайте также обсуждалось много времени. –