PHP/MySQL | PHP код мозга еб*ет
Пытаюсь написать выдачу достижений игрокам для игры мотогонки. Все показывает , но ввожу данные нажимаю "GO" страничка обновляется и все, код вытащил с двига гоник.ус
Сам код вот:
________
посл. ред. 13.01.2015 в 14:08; всего 3 раз(а); by GamePlus
Сам код вот:
<?php
require_once 'inc/system.php';
require_once 'inc/head.php';
no_auth();
if($user['prava'] == '2') header('Location:/');
switch($act){
case 'new_ach';
if(isset($_POST['achievement'])){
if(empty($_POST['id'])) $err .= '<div class="">Укажите ID!</div>';
if(empty($_POST['id_user'])) $err .= '<div class="">Укажите ID игрока</div>';
if(empty($_POST['ach_name'])) $err .= '<div class="">Заполните название достижения!</div>';
if(empty($_POST['ach_text'])) $err .= '<div class="">Заполните текс к достижению!</div>';
if(empty($err)){
mysql_query("INSERT INTO `achievement` SET `id` = '$_POST[id]', `ach_name` = '$_POST[ach_name]', `ach_text` = '$_POST[ach_text]',`id_user` = '$_POST[id_user]'");
header('Location: ?act=new_ach');
}
}
if(isset($err)) echo $err;
echo '<center><form method="post" enctype="multipart/form-data">
ID:<br /><input type="text" name="id" /><br />
ID игрока:<br /><input type="text" name="id_user" /><br />
Название:<br /><input type="text" name="ach_name" /><br />
Текст:<br /><input type="text" name="ach_text" /><br />
Цена (доллары):<br /><input type="text" name="dollars" /><br />
Класс:<br /><input type="text" name="class" /><br />
Доступ для уровня (и выше):<br /><input type="text" name="level" value="0"/><br />
Картинка:<br /><input type="file" name="file" /><br />
<input type="submit" name="achievement" value="Go!"/></form></center></div>';
break;
default;
echo '<img src="style/img/man.png" style="float:left;margin:5px 5px 20px 20px;">
<div class="tip-text">
<div class="tit-t">
<b style="text-shadow:1px 1px 2px #0b4731;">
Панель Администрации</b>
</div></div>';
echo '<a href="?act=new_ach"><div class="link"><img src="style/img/settings.png">Дать достижение</div></a>';
}
require_once 'inc/foot.php';
?>
require_once 'inc/system.php';
require_once 'inc/head.php';
no_auth();
if($user['prava'] == '2') header('Location:/');
switch($act){
case 'new_ach';
if(isset($_POST['achievement'])){
if(empty($_POST['id'])) $err .= '<div class="">Укажите ID!</div>';
if(empty($_POST['id_user'])) $err .= '<div class="">Укажите ID игрока</div>';
if(empty($_POST['ach_name'])) $err .= '<div class="">Заполните название достижения!</div>';
if(empty($_POST['ach_text'])) $err .= '<div class="">Заполните текс к достижению!</div>';
if(empty($err)){
mysql_query("INSERT INTO `achievement` SET `id` = '$_POST[id]', `ach_name` = '$_POST[ach_name]', `ach_text` = '$_POST[ach_text]',`id_user` = '$_POST[id_user]'");
header('Location: ?act=new_ach');
}
}
if(isset($err)) echo $err;
echo '<center><form method="post" enctype="multipart/form-data">
ID:<br /><input type="text" name="id" /><br />
ID игрока:<br /><input type="text" name="id_user" /><br />
Название:<br /><input type="text" name="ach_name" /><br />
Текст:<br /><input type="text" name="ach_text" /><br />
Цена (доллары):<br /><input type="text" name="dollars" /><br />
Класс:<br /><input type="text" name="class" /><br />
Доступ для уровня (и выше):<br /><input type="text" name="level" value="0"/><br />
Картинка:<br /><input type="file" name="file" /><br />
<input type="submit" name="achievement" value="Go!"/></form></center></div>';
break;
default;
echo '<img src="style/img/man.png" style="float:left;margin:5px 5px 20px 20px;">
<div class="tip-text">
<div class="tit-t">
<b style="text-shadow:1px 1px 2px #0b4731;">
Панель Администрации</b>
</div></div>';
echo '<a href="?act=new_ach"><div class="link"><img src="style/img/settings.png">Дать достижение</div></a>';
}
require_once 'inc/foot.php';
?>
________
посл. ред. 13.01.2015 в 14:08; всего 3 раз(а); by GamePlus
DELETED
13 января 2015, в 14:02
Delete
Вилы Выкидные (13.01.2015 в 14:02)
Жми "Go" вместо "ок"
Жми "Go" вместо "ок"
Да я имел ввиду GO. Просто спутал:D
mysql_query("SELECT * FROM `achievement`
SET `id` = '$_POST[id]', `ach_name` =
'$_POST[ach_name]', `ach_text` = '$_POST
[ach_text]',`id_user` = '$_POST[id_user]'" ;
header('Location: ?act=new_ach');
пояему селект?
SET `id` = '$_POST[id]', `ach_name` =
'$_POST[ach_name]', `ach_text` = '$_POST
[ach_text]',`id_user` = '$_POST[id_user]'" ;
header('Location: ?act=new_ach');
пояему селект?
mysql_query("INSERT INTO
mysql_query("SELECT * FROM `achievement` SET `id` = '$_POST[id]', `ach_name` = '$_POST[ach_name]', `ach_text` = '$_POST[ach_text]',`id_user` = '$_POST[id_user]'";
header('Location: ?act=new_ach');
здесь UPDATE же должно быть
header('Location: ?act=new_ach');
здесь UPDATE же должно быть
NakON (13.01.2015 в 14:05)
mysql_query("SELECT * FROM `achievement`
SET `id` = '$_POST[id]', `ach_name` =
'$_POST[ach_name]', `ach_text` = '$_POST
[ach_text]',`id_user` = '$_POST[id_user]'" ;
header('Location: ?act=new_ach');
пояему селект?
mysql_query("SELECT * FROM `achievement`
SET `id` = '$_POST[id]', `ach_name` =
'$_POST[ach_name]', `ach_text` = '$_POST
[ach_text]',`id_user` = '$_POST[id_user]'" ;
header('Location: ?act=new_ach');
пояему селект?
Забыл его поменят обратно , там стояло INSERT INTO
DELETED
13 января 2015, в 14:08
Delete
GamePlus (13.01.2015 в 14:03)
Вилы Выкидные (13.01.2015 в 14:02)
Жми "Go" вместо "ок"
Да я имел ввиду GO. Просто спутал:D
Вилы Выкидные (13.01.2015 в 14:02)
Жми "Go" вместо "ок"
Да я имел ввиду GO. Просто спутал:D
у тебя вроде всё верно, просто при выполнении действия идёт переадресация header('Location: ?act=new_ach'); поэтому страница обновляется, проверяй в базу заносит ?
CTEPX, если ид есть то он добавляет строку а не обновляет так что инсерт инто
CTEPX (13.01.2015 в 14:07)
mysql_query("SELECT * FROM `achievement` SET `id` = '$_POST[id]', `ach_name` = '$_POST[ach_name]', `ach_text` = '$_POST[ach_text]',`id_user` = '$_POST[id_user]'";
header('Location: ?act=new_ach');
здесь UPDATE же должно быть
mysql_query("SELECT * FROM `achievement` SET `id` = '$_POST[id]', `ach_name` = '$_POST[ach_name]', `ach_text` = '$_POST[ach_text]',`id_user` = '$_POST[id_user]'";
header('Location: ?act=new_ach');
здесь UPDATE же должно быть
Да поменять забыл, эксперементирова, там стоял INSERT INTO