2014-02-13 4 views
0

Я изо всех сил пытаюсь решить мою проблему. Так вот, я создал форму, которая будет вставлять новые онлайн-игры на мой сайт через мою панель администратора, все работает идеально, но потом я добавил категории игр, поэтому, когда я загружаю игру, я могу выбрать, какую страницу категории она будет быть загруженным в ... Итак, я выбрал переключатель для каждой категории, и я попытался принести значение определенной категории I, отмеченной в MySQL, с помощью метода $ _POST, и по какой-то причине игра загружается в MySQL без пустое значение в разделе "game_category" ...Как опубликовать значение переключателя в MySQL

Вот мой код:

<!DOCTYPE HTML> 
<html> 
<head> 
</head> 
<body> 

<form method="post" id="insert_form" action="insert_game.php" enctype="multipart/form-data"> 

<div class="insert_form_title"> 
<h1>Insert New Game Here</h1> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_name">Game name:</label> 
<input type="text" name="game_name"> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_category">Game category:</label> 
<input class="radio" type="radio" name="game_category" value="action"<?php print $action_status; ?>/> <span>Action</span> 
<input class="radio" type="radio" name="game_category" value="sports"<?php print $sports_status; ?>/> <span>Sports</span> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_keywords">Game keywords:</label> 
<textarea name="game_keywords" cols="60" rows="15"></textarea> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_image">Game image:</label> 
<input type="file" name="game_image"> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_code">Game code:</label> 
<input type="file" name="game_code"> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_file">Game flash file:</label> 
<input type="file" name="game_file"> 
</div> 

<div class="insert_form_inline"> 
<label class="insert_form_field" for="game_desc">Game description:</label> 
<textarea name="game_desc" cols="60" rows="15"></textarea> 
</div> 

<div class="submit"> 
<input type="submit" name="submit" value="Publish Game Now"></td> 
</div> 

</form> 

</body> 
</html> 
<?php 
include("../includes/connect.php"); 

$action_status = 'unchecked'; 
$sports_status = 'unchecked'; 

if(isset($_POST['submit'])){ 

$game_name = $_POST['game_name']; 
$game_category = $_POST['game_category']; 
$game_keywords = $_POST['game_keywords']; 
$game_image = $_FILES['game_image']['name']; 
$image_tmp = $_FILES['game_image']['tmp_name']; 
$game_code = $_FILES['game_code']['name']; 
$code_tmp = $_FILES['game_code']['tmp_name']; 
$game_file = $_FILES['game_file']['name']; 
$file_tmp = $_FILES['game_file']['tmp_name']; 
$game_desc = $_POST['game_desc']; 

if($game_name=='' or $game_category='' or $game_keywords=='' or $game_image=='' or $game_code=='' or $game_file=='' or $game_desc==''){ 

echo "<script>alert('Please enter all the fields below!')</script>"; 

exit(); 

} 
else { 

$path = "../games/games_files/$game_name"; 

mkdir("$path", 0777); 

move_uploaded_file($image_tmp,"../images/games_images/$game_image"); 

move_uploaded_file($code_tmp,"$path/$game_code"); 

move_uploaded_file($file_tmp,"$path/$game_file"); 

$insert_query = "insert into games (game_name,game_category,game_keywords,game_image,game_code,game_file,game_desc) values ('$game_name','$game_category','$game_keywords','$game_image','$game_code','$game_file','$game_desc')"; 

if($game_category == 'action'){ 

$action_status = 'checked'; 

}else if($game_category == 'sports'){ 

$sports_status = 'checked'; 

}else if(mysql_query($insert_query)){ 

echo "<script>alert('The Game Uploaded Successfully!')</script>"; 

echo "<script>window.open('view_games.php','_self')</script>"; 

} 

} 

} 

?> 

<?php } ?> 

Помощь кто-нибудь? :(

+0

Я не уверен, что значение = "действие" часть вашего кода может вызвать ошибку, потому что значение должно быть просто «действием» EDIT: я просто прокручивал и видел непроверенным. okay – Chitowns24

+0

Итак, что еще не так с моим кодом? : o – davidgpilot

+0

Я не знаю, как этот скрипт будет работать в зависимости от того, как он был написан. Я советую вам поместить весь код, связанный с PHP, выше кода HTML. – Lepanto

ответ

0

Дэвид попробуйте обновить сценарий, как показано ниже.

$insert_query = "insert into games (game_name,game_category,game_keywords,game_image,game_code,game_file,game_desc) values ('$game_name','$game_category','$game_keywords','$game_image','$game_code','$game_file','$game_desc')"; 
if($game_category == 'action'){ 
    $action_status = 'checked'; 
}else if($game_category == 'sports'){ 
    $sports_status = 'checked'; 
} 

if(mysql_query($insert_query)){ 
    echo "<script>alert('The Game Uploaded Successfully!')</script>"; 
    echo "<script>window.open('view_games.php','_self')</script>"; 
} 

А также, в большом if состоянии, вы можете увидеть, что вы пропустили один = знак в $ game_category = ''.

Так правильно следующее

if($game_name=='' or $game_category='' or $game_keywords=='' or $game_image=='' or $game_code=='' or $game_file=='' or $game_desc==''){

в

if($game_name=='' or $game_category=='' or $game_keywords=='' or $game_image=='' or $game_code=='' or $game_file=='' or $game_desc==''){

+0

Спасибо! попробуем это в ближайшее время и скоро вам проинформируем;) – davidgpilot

+0

Тем не менее, я не получаю никакого значения под «game_category» в phpmyadmin ... :( – davidgpilot

+0

Можете ли вы поместить 'echo $ insert_query; exit;' before' if ($ game_category = = 'action') {'и посмотрим, получите ли вы значение для game_category? – Lepanto

0

Решение выглядит следующим образом: 1. Создать «если» заявление как следующий код:

if($game_category == '3d'){ 

$three_d_status = 'checked'; 

}else if($game_category == 'action'){ 

$action_status = 'checked'; 

}else if($game_category == 'adventure'){ 

$adventure_status = 'checked'; 

} 

2. Затем создать для каждого поля, которое нужно использовать с «кнопка радио» линия как это:

<input class="radio" type="radio" name="game_category" value="3d"<?php print $three_d_status; ?>/><span>3D</span> 

Вот так, вы готовы пойти :)

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