2014-02-13 2 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 submit_forms ... VALUES ('$ username', ' – Sean

+0

также, вы проверка 'if (isset ($ _ POST ['submit']))', но ваша кнопка отправки не имеет имени 'submit' ->' 'должно быть' < input type = "submit" name = "submit" value = "Submit"> '. Похоже, вам нужно пройти через html и php и убедиться, что каждый элемент формы совпадает с каждой переменной post 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

Смежные вопросы