2014-02-13 27 views
-1

我正在为我的网站和这种形式不提交cms。我知道它是一个查询问题,但我无法弄清楚什么是错的。任何帮助?此外,$ db在我的配置中,我确实将它包含在页面的顶部。问题是它没有提交,它只是刷新,没有别的。我也想在后面的表格中显示表格提交内容,但我不知道该怎么做,如果有人能帮助我,这部分也会很棒。Php的mysql的HTML表单提交错误

PHP:

<?php 
if(isset($_POST['submit'])) 
{ 
    $c_name = $_POST['channel_username']; 
    $v_link = $_POST['video_link']; 
    $v_title = $_POST['video_title']; 
    $v_desc = $_POST['vido_description']; 
    $v_tags = $_POST['video_tags']; 
    $m_sources = $_POST['music_sources']; 
    $s_requests = $_POST['special_requests']; 

    if(empty($c_name) or empty($v_link) or empty($v_title) or empty($v_title) or empty($v_desc) or empty($v_tags)) 
    { 
    echo 'You must fill in the first 5 fields.'; 
    } 
    else 
    { 
    $getRank = $db->query("SELECT * FROM users WHERE username = '".$_SESSION['username']."'"); 
    while ($row = $getRank->fetch_assoc()) 
    { 
     $usename = $row['username']; 
     $rank = $row['rank']; 
    } 
    $db->query("INSERT INTO submitted_forms (username, rank, channel_username, video_link, video_title, video_description, video_tags, music_sources, special_requests) VALUES ('$username', '$rank', '$c_name', '$v_link', '$v_title', '$v_desc', '$v_tags', '$m_sources', '$s_requests')"); 
    echo 'Form submitted successfully.'; 
    } 
    } 
?> 

HTML:

<form method="POST"> 
    <p>Channel name <input type="text" name="channel_name" required>*</p> 
    <p>Video Link <input type="text" name="video_link" required>*</p> 
    <p>Video Title <input type="text" name="video_title" required>*</p> 
    <p>Video Description <input type="text" name="video_description" required>*</p> 
    <p>Video Tags <input type="text" name="video_tags" required>*</p> 
    <p>Music Sources <input type="text" name="music_sources"></p> 
    <p>Special Requests <input type="text" name="special_requests"></p> 
    <br></br> 
    <p><input type="submit" name="submit" value="Submit"></p> 
</form> 
+1

对不起,HTML和PHP中的字段名称不匹配。因此,这个问题是无用的。 – SteAp

+0

除了不匹配的表单字段/邮件键('c_name'!='channel_username'等),您的查询不匹配单/双引号 - >'“INSERT INTO submitted_forms ... VALUES(''。$ username '',''应该是''INSERT INTO submitted_forms ... VALUES(''。$ username。'','或简单地''INSERT INTO submitted_forms ... VALUES('$ username',' – Sean

+0

也是,你是检查'if(isset($ _ POST ['submit']))',但你的提交按钮没有'submit'这个名字 - >''should''<输入类型=“提交”名称=“提交”值=“提交”>'。它看起来像你需要通过你的HTML和你的PHP,并确保每个表单元素是相同的每个PHP后变量 – Sean

回答

1

如果问题确实与查询,那么它可能是这样的:

$db->query("INSERT INTO submitted_forms (username, rank, channel_username, video_link, video_title, video_description, video_tags, music_sources, special_requests) VALUES (''.$username.'', ''.$rank.'', ''.$c_name.'', ''.$v_link.'', ''.$v_title.'', ''.$v_desc.'', ''.$v_tags.'', ''.$m_sources.'', ''.$s_requests.'')"); 

我认为不是,你想:

$db->query("INSERT INTO submitted_forms (username, rank, channel_username, video_link, video_title, video_description, video_tags, music_sources, special_requests) VALUES ('$username', '$rank', '$c_name', '$v_link', '$v_title', '$v_desc', '$v_tags', '$m_sources', '$s_requests')"); 

- 编辑 -

此外,虽然它不会给你一个错误,你真的不应该在那里插入新的POST数据。至少你可能想在它上面使用mysqli_real_escape_string。

+0

谢谢,我试过查询,但仍然没有工作 – user3051246