-1

我似乎无法弄清楚这一点。我正在尝试从结果中获取 row[video] 值,如果数据库中有一个视频条目并且它不为空,则显示一个链接,显示 Edit Video Link with a href= of edit_media.php?video=edit (这是这个页面)。如果用户单击此链接,页面将使用包含 video=edit 的 URL 重新加载,并触发变量 videoEdit 为 TRUE,这应显示一个表单输入框,该框显示数据库中的当前值。

但是,它似乎不起作用,由于某种原因,我什至在单击编辑视频链接之前就看到了表单输入框(网址没有视频=编辑)。当我单击“修改视频链接”并且网址确实包含视频 = 编辑时,我会看到一个文本框,其中包含“视频”字样。我不确定为什么。我在这段代码之前有正确的 MYSQL 查询,但我没有在这里包含它。我怎样才能得到这个工作?

     // if the user clicked edit video link
if ($_GET['video'] = EDIT) {
$videoEdit = TRUE
}

while ($row = mysql_fetch_array($result, mysql_assoc)) {
$video = $row['video'];
}

if ($videoEdit = TRUE) {
echo '<form action="edit_media.php" method="post">
<p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value=';
       if (isset($video))
            echo $video;
            ' /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
        </form>';
}

它接着说:

if ($video != "") {
echo '<iframe width="420" height="315" src=' . $video . ' frameborder="0" allowfullscreen></iframe> | <a href=edit_media.php?video=EDIT>Modify Video Link</a>';
} else {
echo "Video Not Present | <a href=edit_media.php?video=EDIT>Add a Video</a>";
}

你能帮我制作这个脚本吗>?

4

6 回答 6

0

在您的两个 if 语句中,您错过了“=”您的代码正确:

if ($_GET['video'] == EDIT) {
$videoEdit = TRUE
}

while ($row = mysql_fetch_array($result, mysql_assoc)) {
$video = $row['video'];
}

if ($videoEdit == TRUE) {
echo '<form action="edit_media.php" method="post">
<p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value=';
       if (isset($video))
            echo $video;
            ' /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
        </form>';
}
于 2012-10-30T13:24:10.603 回答
0

此行使用了错误的比较运算符:

if ($videoEdit = TRUE) {

它应该是

if ($videoEdit == TRUE) {

于 2012-10-30T13:24:26.993 回答
0

试试这个 if ($_GET['video'] == "EDIT") { $videoEdit = TRUE }

于 2012-10-30T13:27:46.797 回答
0

这是将 EDIT 分配给变量,而不是检查其值。

if ($_GET['video'] = EDIT)

尝试养成以相反顺序编写常量检查的习惯:

if (EDIT == $_GET['video'])

这样,如果您再次删除“=”,代码将根本无法编译,您将立即收到警告。

出于同样的原因,请注意if ($a == $b)比较。

于 2012-10-30T13:31:53.267 回答
0

首先你需要一个比较,而不是分配:

if ($_GET['video'] ==  'EDIT') {
     $videoEdit = TRUE;
 }

if ($videoEdit == TRUE) {

还需要清理视频的打印:

echo '<form action="edit_media.php" method="post">
      <p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value=';
if (isset($video)){
        echo $video;
}
echo ' /></p><p><input type="submit" name="submit" value="Submit Video"/></p>'.
     '<input type="hidden" name="submitted" value="TRUE" /> </form>';
于 2012-10-30T13:23:52.680 回答
0

这里有很多语法错误......我建议做一些学习......这是我能看到的......

另外,在您研究时...查看 PDO 或 Doctrine,不推荐使用 mysql。

if ($_GET['video'] == 'EDIT') { // <<--- invalid syntax
$videoEdit = TRUE; // <--- missing semicolon
}

while ($row = mysql_fetch_array($result)) { // <-- not sure
$video = $row['video'];
}

if ($videoEdit) { // <-- boolean comparison
echo '<form action="edit_media.php" method="post">
<p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value=';
       if (isset($video))
            echo $video;
            ' /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
        </form>';
}

这是一个很好的资源:http ://www.php.net/manual/en/

于 2012-10-30T13:26:09.790 回答