2014-02-13 14 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