2017-11-30 8 views
-5

私の悪い英語の最初の申し訳ございません 2番目:問題はすべて私のフォームにあります。恥ずかしながら、彼は同じページまたは別のページに挿入されたデータを投稿しません。 フィールドに記入すると、同じページまたは別のページに投稿する必要があります。 投稿したものを別のページに表示する必要があります。phpフォームはページに掲載されていません

<?php 
    mysql_connect("sql.domain.com", "database", "password"); 
    mysql_select_db("database"); 
    $Username = $_POST['Username']; 
    $Password = $_POST['Password']; 
    $eMail = $_POST['eMail']; 
    $eMailPw = $_POST['eMailPw']; 
    $submit = $_POST['submit']; 

    $dbLink = mysql_connect("sql.domain.com", "database", "password"); 
    mysql_query("SET character_set_client=utf8", $dbLink); 
    mysql_query("SET character_set_connection=utf8", $dbLink); 

    if($submit) { 
     if($Username && $Password && $eMail && $eMailPw) { 
      $insert = mysql_query("INSERT INTO commenttable (Username,Password,eMail,eMailPw) VALUES ('$Username','$Password','$eMail','$eMailPw') "); 
      echo "<meta HTTP-EQUIV='REFRESH' content='0; url=TEST2.php'>"; 
     } else { 
      echo "please fill out all fields"; 
     } 
    } 
?> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>TEST 2</title> 
    </head> 

    <body> 
     <center> 
     <form action="TEST2.php" method="POST" > 
      <table border="0" cellspacing="8" cellpadding="0" > 
       <tr> 
        <td>Username</td> 
        <td><input type="text" name="Username" size="30" ></td> 
       </tr> 
       <tr> 
        <td>Password</td> 
        <td><input type="text" name="Password" ></td> 
       </tr> 
       <tr> 
        <td>eMail</td> 
        <td><input type="text" name="eMail" ></td> 
       </tr> 
       <tr> 
        <td>eMail Password</td> 
        <td><input type="text" name="eMailPw" ></td> 
       </tr> 
      </table> 
      <input type="submit" value="Submit"> 
     </form> 

     <?php 
      $dbLink = mysql_connect("sql.domain.com", "database", "password"); 
      mysql_query("SET character_set_results=utf8", $dbLink); 
      mb_language('uni'); 
      mb_internal_encoding('UTF-8'); 

      $getquery = mysql_query("SELECT * FROM commenttable ORDER BY id DESC"); 
      while($rows = mysql_fetch_assoc($getquery)) { 
       $id = $rows['id']; 
       $Username = $rows['Username']; 
       $Password = $rows['Password']; 
       $eMail = $rows['eMail']; 
       $eMailPw = $rows['eMailPw']; 
       echo $Username . '<br/>' . '<br/>' . $Password . '<br/>' . '<br/>' . $eMail . '<br/>' . '<br/>' . $eMailPw . '<br/>' . '<br/>' . '<hr size="1"/>'; 
      } 
     ?> 

    </body> 
</html> 
+6

[リトルボビー](http://bobby-tables.com/は)(https://stackoverflow.com/q/ [あなたはSQLインジェクション攻撃のために危険にさらされる可能性がある] **言います60174 /)**。 [パラメータ化されたクエリ](https://stackoverflow.com/a/4712113/5827005)で[Prepared Statements](https://en.wikipedia.org/wiki/Prepared_statement)について学んでください。パラメータ化されていないクエリを使用するよりも、非常に簡単で、きれいで、安全であるように、私は[PDO]を勧めました(https://github.com/GrumpyCrouton/GrumpyPDO)。また、[この記事](https://phpdelusions.net/pdo/mysqli_comparison)は、 'MySQLi'と' PDO'を選択するのに役立ちます – GrumpyCrouton

+0

コードを特定の問題に絞り込んでください – ProEvilz

+2

**危険**:あなたは[削除されました](http://php.net/manual/ja/mysql.php)から[[** **廃止**データベースAPI](http://stackoverflow.com/q/12859942/19068)を使用してPHP。 [現代的な代替品](http://php.net/manual/en/mysqlinfo.api.choosing.php)を選択する必要があります。あなたは** [SQLインジェクション攻撃](http://bobby-tables.com/)**に対して脆弱です**現代のAPIは、[防御]を容易にします(http://stackoverflow.com/questions/60174/最良の方法からSQLへのPHPインジェクション)をあなた自身から守ってください。 – Quentin

答えて

-2

まず、あなたの英語は良いです。第二に、それが投稿されたかどうか懸念される前に、私が働くことを勧めていることがたくさんあります。

のmysql mysqliの対

mysql extension depreciation warning

  • MySQL拡張機能は、減価償却されているので、あなたはmysqliのを使用したいと思うでしょう。 PHPを使用するメリットは、ドキュメントが非常に徹底していることです。

    mysqli_connect 
    

入力タイプ= "パスワード"

  • から

    mysql_connect 
    

    変更...パスワードを入力してしっかり へのユーザーのための方法を提供します。この要素は、 プレーンテキストエディタコントロールとして表示されます。このコントロールでは、テキストが隠されて、 を読み取ることができません。通常、各文字をアスタリスク( "*")またはドット「」)。この文字は、ユーザーエージェントとOSによって異なります( )。 - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password

Here's a handy link to get familiar with different input types

...場合は

への変更は、あなたが提出した後にデータを表示するために別のページにユーザーをリダイレクトすることがありますように見えます

  • を提出する時にリダイレクトします。以下は、それを行う方法の例です。

    # after your query and insertion into table  
    $profile_url = 'http://' . $_SERVER['HTTP_HOST'] . '/profile.php'; 
    $header('Location: ' . $profile_url); 
    
+0

ダーン....最初の答え& "太った指"を押して早めに提出すると、私はdownvotedを取得します。 – lanadeltaco

関連する問題