2016-11-23 9 views
-2

で動作しないので、私のフォームは、私はそうのようなPHPファイルにテスト値を入れたときに動作するようです:

$name = 'name'; 
$email = '[email protected]'; 
$telephone = '123456789'; 
$message = 'test message'; 

しかし私のようなPHPの_POSTとテスト値を交換するときだから:

すべてが壊れているとわかりません。

は、ファイルcontact.htmlに非常に単純な接触 - 私たちのフォームのセットアップを手に入れた:ここ

<div class="container-fluid"> 
    <div class="row">    
     <div class="col-xs-12 col-sm-9 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2"> 
      <div class="form-header"> 
       <h8>CONTACT US FORM</h8> 
      </div> 

      <form method="post" action="php/contact.php"> 
       <div class="row"> 
        <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4"> 
         <label>Name:</label> 
         <input type="text" name="name" class="form-control" onchange="capitalise()"> 
        </div> 
        <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4"> 
         <label>Email Address:</label> 
         <input type="email" class="form-control" name="email"> 
        </div> 
        <div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4"> 
         <label>Phone Number:</label> 
         <input type="tel" class="form-control" name="tel"> 
        </div> 

        <div class="clearfix"></div> 

        <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12"> 
         <label>Message:</label> 
         <textarea class="form-control" rows="6"></textarea> 
        </div> 
        <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12"> 
         <input type="hidden" name="msg" value="contact"> 
         <button type="submit" class="btn btn-default">Submit</button> 
        </div> 
       </div> 
      </form> 
     </div>    
    </div> 
</div> 

は、プリペアドステートメントを使用して、PHPのお問い合わせフォームです。

<?php 

$servername = "*******"; 
$username = "********"; 
$password = "********"; 
$dbname = "*********"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error){ 
    die("Connection failed: " . $conn->connect_error); 
} 

$stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)"); 
$stmt->bind_param("ssss", $name, $email, $telephone, $message); 

$name = $_POST['name']; 
$email = $_POST['email']; 
$telephone = $_POST['tel']; 
$message = $_POST['msg']; 
$stmt->execute(); 

echo "New records created successfully"; 

$stmt->close(); 
$conn->close(); 

?> 
+0

は「すべてが壊れているようだ」を定義します。エラーはありますか?予想外の結果ですか?他に何か? – David

+0

クエリの上にPOST配列/変数を配置してみてください。エラー報告を使用して、クエリのエラーをチェックします。あなたはそれをやっていない。条件文を使用して、isset/emptyをチェックします。 –

+0

変数は関数に渡す前に定義されていません。 – Kumar

答えて

0

あなたのバインドにそれらを挿入する前に、あなたの変数を宣言することをお勧めします:

<?php 
    $servername = "*******"; 
    $username = "********"; 
    $password = "********"; 
    $dbname = "*********"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 

    // Check connection 
    if ($conn->connect_error){ 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)"); 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $telephone = $_POST['tel']; 
    $message = $_POST['msg']; 

    $stmt->bind_param("ssss", $name, $email, $telephone, $message); 

    $stmt->execute(); 

    echo "New records created successfully"; 

    $stmt->close(); 
    $conn->close(); 
?> 
+0

ヘルプメイトのための乾杯!完璧に今働いている。 –

+0

不公平に受け入れられた間違った答えを見るのはいつも面白いです。 –

+1

答えは間違っていますか? OPの質問を解決しました。もっと面白いことに、私は、批判なしで不当な批判を見ることを言うだろう。 – Daerik

関連する問題