1

テーブルを設定し、必要なデザインを作成しました...自分のサイトにセクシーな好き嫌いのシステムを作成する唯一の方法は、それが必要とする実際の PHP です (心配しないでください、私はたくさんのコードを書きました。送信しません)

私の問題は、私のコードがどのテーブルにも送信されていないことです。そのため、私の質問は、実際にデータベースに送信するにはどうすればよいですか?

ここに私がこれまでに用意したコードがあります(ボタンとともに)

ボタン

<form action="up.php">
<input type="image" value="upBtn" name="upBtn" id="upBtn" src="images/add.png"> Like
</form>

実際のコード (up.php)

  <?php
    require 'connect2.php';

    if (isset($_POST['upBtn'])) {
               mysql_query("INSERT INTO votes (id, user, upvote, downvote) VALUES ('', '$username', '+ 1', '+ 0')");
               mysql_query("UPDATE searchengine SET rel = rel '+ 1' WHERE id = '$id'");
            }
    ?>

$user name def (このコードはすべてページの上部にあります)

if (isset($_SESSION['id'])) {
    $userid = $_SESSION['id'];
    $username = $_SESSION['username'];

$id はすでにページで定義されています。これはすべて、投票を表示したいページにあるためです

4

2 に答える 2

1

「id」を非表示フィールドとしてフォームに含める必要があります。たとえば、別のタブで別の投稿を開き、その投稿に投票した場合など、セッションの id が投票している id ではない可能性があるためです。以前にロードされていました。また、セッション変数が正しく保存されていますか? PHP の設定によっては、リソースを節約するために、セッションはデフォルトでは開始されません。実際にセッションを開始するには、各ページの上部で session_start()を呼び出す必要があります。

于 2011-07-17T02:03:50.140 に答える
0

Try adding method="post" to the form tag. If it still doesn't work, you should put some debugging code inside the if statement to see if your queries are actually being run.

于 2011-07-17T01:38:44.807 に答える