1

Web ページに、ユーザーがそのページのビデオをお気に入りのリストに追加できるボタンがあります。このボタンの後ろには、フォームといくつかの php があります。PHP コードは、セッション変数を使用してユーザー名を取得します。この情報は、データベースから関連するユーザー ID を取得し、その値を変数に格納するために使用されます。フォームからの入力値を使用して、問題のビデオに関連するビデオ データベース テーブルからタプルを取得し、ビデオ タイトルと URL 属性の値を変数に格納することができました。次に、コードは、ユーザーがビデオを「お気に入り」として既に追加しているかどうかを確認します。お気に入りデータベース エンティティは、ユーザー ID とビデオ ID の両方を含むタプルについてチェックされます。両方がデータベース テーブルの 1 つの行に含まれている場合、ユーザーは既にビデオを追加しており、これが通知されます。それ以外の場合、ユーザー ID、ビデオ ID、ビデオ タイトル、および URL がお気に入りデータベース エンティティに挿入され、ビデオが追加されたことがユーザーに通知されます。これはすべて chrome または safari では正常に動作しますが、ie または Firefox では何もしません。データベースが更新され、Chrome と safari でのみメッセージが表示されます。コードを添付しました。ウェブページの以前のコードでセッションが既に開始されていることに注意してください。どんな援助でも大歓迎です。

    <div id="addfav">
    <form action="python.php" method="post">
        <input name="add" src="images/add.png" type="image"
        value="3">
    </form>
    <?php 
        $user=$_SESSION['user'];

        if ( isset( $_POST['add'] ) )
        {
            $vid = $_POST["add"];
            $sql = "SELECT * FROM `users` WHERE username = '$user'";
            $result = mysql_query($sql) or die(mysql_error());
            $row = mysql_fetch_array($result);
            $uid= $row['user_id'];

            $sql = "SELECT * FROM `Video` WHERE Video_id = '$vid'";
            $result = mysql_query($sql) or die(mysql_error());
            $row = mysql_fetch_array($result);
            $url=$row['URL'];
            $title=$row['Title'];

            $check = mysql_query("SELECT * FROM `favourites` WHERE Uid = '$uid' AND vid_id = '$vid'") or die (mysql_error());
            $r = mysql_num_rows($check);

            if ($r>=1)
            {
                echo "already added to favourites";

                echo '<script type="text/javascript">window.alert("Already added to favourites")</script>';
                //'<span style="color: red;" />Already added to favourites </span>' ;   
            }

            else 
            {  
                mysql_query("INSERT INTO `favourites` (`Uid`,
                `vid_id`,`url`,`title`) VALUES ('$uid',
                '$vid','$url','$title')")or die(mysql_error());
                echo "Added to favourites"; 
            }
        }
    ?>
</div>
4

3 に答える 3

4

(単なるデバッグのアイデアです)入力画像を次のような隠し要素に変更してみてください:

<form action="python.php" method="post">
     <!-- I don't remove this, to keep the image shown-->
     <input name="addimg" src="images/add.png" type="image"  value="3">

     <input type='hidden' name='add' value='3' />
 </form>

それは今動作しますか?

于 2013-04-05T11:04:08.900 に答える