2016-04-29 7 views
-2

"comment"という名前のデータベースに名前、電子メール、メッセージが含まれている私のコメントを処理したいが、それは傾ける。 phpmyadminのデータベース名がprosescomment.phpと同じであることは間違いありません。それはあなたがConnectionクラスを持っているか、そうです、これは私のidフォームなぜ私はデータベースにデータを投稿できないのですか?

#form { 
padding-top: 6px; 
} 

#form input { 
    color:#39596e; 
    border: 1px solid #3c7f9f; 
    padding: 4px 12px 9px; 
    background-color: white; 

    float:left; 
    font: 13px/18px Arial, Helvetica, sans-serif; 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; /*Firefox 1-3*/ 
    -webkit-box-sizing: border-box; /* Safari */ 
} 

#form textarea { 
    color:#39596e; 
    height: 170px; 
    overflow: auto; 
    background-color: white; 
    border: 1px solid #3c7f9f; 
    padding: 12px 12px 9px; 
    width: 100%; 
    position: relative; 
    resize:none; 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; /*Firefox 1-3*/ 
    -webkit-box-sizing: border-box; /* Safari */ 
    float:left; 
    font: 13px/18px Arial, Helvetica, sans-serif; 
    margin: 0; 

} 
#form label { 
    position:relative; 
    display: block; 
    min-height: 51px; 
    width: 185px; 
    float: left; 
} 

.email { 
    padding-top: 10px; 
} 

#form .error, #form .empty { 
    color: #FF0000; 
    display: none; 
    font-size: 11px; 
    line-height:14px; 
    width:auto; 
    position: absolute; 
    z-index: 999; 
    right: 5px; 
    bottom: 4px; 
    float:left; 
} 

#form .message .error, #form .message .empty { 
    bottom: -16px; 
} 

#form .error-empty { 
    display:none; 
    float:left; 
} 

.btns { 
    position:relative; 
    padding-top: 20px; 
    text-align: center; 

} 


.btns a { 
    display: inline-block; 
    font-size: 19px; 
    line-height: 18px; 
    background-color: #f17c72; 
    border: 1px solid #b76058; 
    min-width: 107px; 
    padding: 5px 10px 6px; 
    color: #fff; 
    cursor: pointer; 
} 

.btns a:hover { 
    background-color: #c2e8f4; 
    border-color: #3c7f9f; 
    color: #39596e; 
} 

#form .message { 
    width: 100%; 
} 

#form .btns span { 
    display: inline-block; 
    width: 13px; 
} 


.message br { 
    height: 0; 
    line-height: 0; 
} 

#form .success { 
    display: none; 
    position: absolute; 
    width: 100%; 
    color:#39596e; 

    border: 1px solid #3c7f9f; 

    background-color: #c2e8f4; 

    text-align: center; 
    padding: 20px 10px; 
    z-index: 999; 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; /*Firefox 1-3*/ 
    -webkit-box-sizing: border-box; /* Safari */ 
} 

.success_wrapper { 
    position: relative; 
} 
+0

試みを実行します –

+0

何あなたが受け取っているエラーです –

+0

私はsendをクリックすると、私はprosescomment.phpに処理されません – Endone

答えて

2

ある

<form action="prosescomment.php" method="POST" id="form" > 
      <div class="success_wrapper"> 
      <div class="success">Contact form submitted!<br> 
       <strong>We will be in touch soon.</strong> </div> 
      </div> 
      <fieldset> 
       <input type="text" name="nama" placeholder="Name:"> 
       <br class="clear"> 
       <span class="error error-empty">*This is not a valid name.</span><span class="empty error-empty">*This field is required.</span> 
      <label class="email"> 
       <input type="text" name="email" placeholder="E-mail:"> 
       <br class="clear"> 
       <span class="error error-empty">*This is not a valid email address.</span><span class="empty error-empty">*This field is required.</span> </label> 
      <label class="message"> 
       <textarea type="text" name="message" placeholder="Message"></textarea> 
       <br class="clear"> 
       <span class="error">*The message is too short.</span> <span class="empty">*This field is required.</span> </label> 
      <div class="clear"></div> 
      <div class="btns"><a data-type="submit" class="link1">Send</a> 
       <div class="clear"></div> 
      </div> 
      </fieldset> 
     </form> 

これは私のprosescomment.php

<?php 
    include "connection.php"; 

    $nama = $_POST['nama']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    $query = "INSERT INTO comment VALUES ('$nama', '$email', '$comment')"; 
    $result = mysql_query($query); 

    if ($query) { 
     header("location:index.html"); 
    } 
    else{ 
     mysql_error(); 
    } 
?> 

である、これは私のフォームです

助けてくださいだから...準備されたステートメントを使用することをお勧めします& PDO ...

さらに、主キー(ID)を持っているかどうかによって、SQLが間違っている可能性があります。ここで

は、私はあなたが行くことをお勧めしたいルートです:

<?php 
    include "connection.php"; 

    $nama  = htmlspecialchars(trim($_POST['nama']));  //PROTECT AGAINST SQL INJECTION 
    $email  = htmlspecialchars(trim($_POST['email']));  //PROTECT AGAINST SQL INJECTION 
    $message = htmlspecialchars(trim($_POST['message'])); //PROTECT AGAINST SQL INJECTION 

    //NOTE: YOU DON'T HAVE THE VARIABLE $comment DEFINED: YOU MUST MEAN $message 
    $query  = "INSERT INTO comment (name, email, message) VALUES ('$nama', '$email', '$message')"; 

    /** I WOULD SUGGEST YOU USE PDO & PREPARED STATEMENTS LIKE SO*/ 
    // $stmt  = $dbh->prepare("INSERT INTO comment (name, email, comment) VALUES (:name, :email, :message)"); 
    // $stmt->bindParam(':name', $nama); 
    // $stmt->bindParam(':email', $email); 
    // $stmt->bindParam(':message', $message); 

    $result = mysql_query($query); 
    // NOT if($query) BUT if($result) BECAUSE $query IS A STRING AND if($query) WILL ALWAYS RETURN TRUE... 
    if ($result) { 
     header("location:index.html"); 
    } 
    else{ 
     mysql_error(); 
    } 
?> 

私はこれは少し役に立てば幸い...

+0

私はOPがあなたの提案に従うことを本当に願っています。実際には、それは私が答えに入れた唯一のものだろう。 mysql_は正式に死んでしまったので、IMHOでは答えで積極的に "プロモート"するべきではありません。 – Oldskool

+0

Oldskoolに感謝しますが、正直なところ、あなたは完全に正しいです。 PDOはmysql_よりも実際に対処が容易です。私たちはそれをOPに任せて自分自身を決定するべきです。だから私はコメントのようにコードの中に置いたのです。;-) – Poiz

0

<button class="link1" type="submit" >Send</button>にコード<a data-type="submit" class="link1">Send</a>の行を交換し、フォームデータを試してみてください掲載します。

1

チャゲこのコードを使用してHTMLとprosescomment.phpコードとそれが<入力タイプ=名前は=「提出」値=「送信」「提出」>へSendを変更することにより、

<form action="prosescomment.php" method="POST" id="form" > 
       <div class="success_wrapper"> 
       <div class="success">Contact form submitted!<br> 
        <strong>We will be in touch soon.</strong> </div> 
       </div> 
       <fieldset> 
        <input type="text" name="nama" placeholder="Name:"> 
        <br class="clear"> 
        <span class="error error-empty">*This is not a valid name.</span><span class="empty error-empty">*This field is required.</span> 
       <label class="email"> 
        <input type="text" name="email" placeholder="E-mail:"> 
        <br class="clear"> 
        <span class="error error-empty">*This is not a valid email address.</span><span class="empty error-empty">*This field is required.</span> </label> 
       <label class="message"> 
        <textarea type="text" name="message" placeholder="Message"></textarea> 
        <br class="clear"> 
        <span class="error">*The message is too short.</span> <span class="empty">*This field is required.</span> </label> 
       <div class="clear"></div> 
       <div class="btns"><input type="submit" name="submit" value="send" class="link1"/> 
        <div class="clear"></div> 
       </div> 
       </fieldset> 
      </form> 




<?php 
    include "connection.php"; 
if(isset($_POST['submit']))  // 
{ 
    $nama = $_POST['nama']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    $query = "INSERT INTO comment VALUES ('$nama', '$email', '$message')"; 
    $result = mysql_query($query); 

    if ($result) { 
     header("location:index.html"); 
    } 
    else{ 
     mysql_error(); 
    } 
} 
?> 
+0

私のコードでif($ query) - > if($ result)を置き換えてください。 –

+0

上記のようにコードが更新されました。 –

関連する問題