PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
Nameless95
Отправлено: 09 Декабря, 2015 - 13:16:15
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2015
Помог: 0 раз(а)
Здравствуйте! Помогите решить проблему. Есть такая задача: нужно сделать добавление данных из формы в базу mysql. Но возникает следующая трудность: при обновлении страницы дублируется последнее введенное значение. Если добавлять редирект или условия для проверки заполнения, то добавление перестает работать вообще. Помогите, пожалуйста, решить проблему.
Код страницы с формой:
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
header ( 'Content-Type: text/html; charset=utf-8' ) ; require_once "modules.php" ;
?>
<!DOCTYPE html>
< html lang= "en" >
< meta charset= "UTF-8" >
< link href= 'https://fonts.googleapis.com/css?family=Roboto&subset=cyrillic,latin' rel= 'stylesheet' type= 'text/css' >
< title></ title>
< body>
< div class= "head-title" >
< div class= "top" > Профессорско-преподавательский состав</ div>
< div class= "bottom" ></ div>
</ div>
< div class= "tabl" >
< div class= "tab-header" >
< div class= "number" > №</ div>
< div class= "fio" > Ф.И.О</ div>
< div class= "dolj" > Должность</ div>
< div class= "monday" > Понедельник</ div>
< div class= "tues" > Вторник</ div>
< div class= "wedn" > Среда</ div>
< div class= "thur" > Четверг</ div>
< div class= "friday" > Пятница</ div>
</ div>
<? php
echo get_data( ) ;
?>
</ div>
< form name= "insert" action= "index.php" method= "post" >
< br />< font color= "white" > Введите фамилию </ font> < input name= "fam" type= "text" value= "" >
< br />< font color= "white" > Введите имя</ font> < input name= "nam" type= "text" value= "" >
< br />< font color= "white" > Введите отчество</ font> < input name= "ot" type= "text" value= "" >
< br />< font color= "white" > Введите должность</ font> < input name= "job" type= "text" value= "" >
< br />< font color= "white" > Понедельник</ font> < input name= "mon" type= "text" value= "" >
< br />< font color= "white" > Вторник</ font> < input name= "tue" type= "text" value= "" >
< br />< font color= "white" > Среда</ font> < input name= "wed" type= "text" value= "" >
< br />< font color= "white" > Четверг</ font> < input name= "thu" type= "text" value= "" >
< br />< font color= "white" > Пятница</ font> < input name= "fri" type= "text" value= "" >
< button type= "submit" > Сохранить</ button>
</ form>
<? php
// connect to the "tests" database
$conn = new mysqli( ', ' ', ' ', ' ');
mysqli_set_charset($conn, "utf8");
$sql = "insert INTO `preps`(`fam`, `nam`, `ot`)
VALUES (' ".$_POST [" fam"]." ',' ".$_POST [" nam"]." ',' ".$_POST [" ot"]." ')";
// Performs the $sql query on the server to insert the values
if ($conn->query($sql) === TRUE) {
echo ' ';
}
else {
echo ' Error: '. $conn->error;
}
exit();
?>
</ body>
Код modules.php:
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
header ( 'Content-Type: text/html; charset=utf-8' ) ;
function get_data( ) {
echo '<b>' . $i ++. '</b>' . $row [ 'title' ] . '<br>' ;
$s = '<table>' ;
for ( $i = 0 ; $i < mysqli_num_rows( $q ) ; $i ++ ) {
if ( $res [ 'data_begin' ] == 0) { }
$s .= '<tr>' ;
$s .= '<div class="tab-h">' .
'<div class="number">' . $res [ 'number' ] . '</div>' .
'<div class="fio">' . $res [ 'fam' ] . ' ' . $res [ 'nam' ] . ' ' . $res [ 'ot' ] . '</div>' .
'<div class="dolj">' . $res [ 'job' ] . '</div>' .
'<div class="monday">' . $res [ 'mon' ] . '</div>' .
'<div class="tues">' . $res [ 'tue' ] . '</div>' .
'<div class="wedn">' . $res [ 'wed' ] . '</div>' .
'<div class="thur">' . $res [ 'thu' ] . '</div>' .
'<div class="friday">' . $res [ 'fri' ] . '</div>' .
'</div>' ;
$row_index = 1 ;
}
return $s . '</table>' ;
}
?>
(Отредактировано автором: 10 Декабря, 2015 - 18:26:29)
Nameless95
Отправлено: 09 Декабря, 2015 - 14:25:31
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2015
Помог: 0 раз(а)
lastdays пишет: Доступ к базе уберите из скрипта
Перестает вообще что-либо добавлять
Редирект не срабатывает
Faraon-san
Отправлено: 09 Декабря, 2015 - 16:08:14
Посетитель
Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013
Помог: 8 раз(а)
Делал на коленке, попробуй:
PHP:
скопировать код в буфер обмена
<?PHP
header ( 'Content-Type: text/html; charset=utf-8' ) ;
$mysqli = new mysqli( '91.226.116.42' , 'laba1' , 'GmCFd9tURnpLs9PK' , 'laba1' ) ;
$mysqli -> set_charset ( "utf8" ) ;
function get_data( $db ) {
$query = $mysqli -> query ( "SELECT * FROM preps ORDER BY fam" ) ;
$data = '' ;
while ( $row = $result -> fetch_assoc ( ) ) {
if ( $row [ 'data_begin' ] == 0) { }
$data .= '<tr>' ;
$data .= '<td class="number">' . $row [ 'number' ] . '</td>' ;
$data .= '<td class="fio">' . $row [ 'fam' ] . ' ' . $row [ 'nam' ] . ' ' . $row [ 'ot' ] . '</td>' ;
$data .= '<td class="dolj">' . $row [ 'job' ] . '</td>' ;
$data .= '<td class="monday">' . $row [ 'mon' ] . '</td>' ;
$data .= '<td class="tues">' . $row [ 'tue' ] . '</td>' ;
$data .= '<td class="wedn">' . $row [ 'wed' ] . '</td>' ;
$data .= '<td class="thur">' . $row [ 'thu' ] . '</td>' ;
$data .= '<td class="friday">' . $row [ 'fri' ] . '</td>' ;
$data .= '</tr>' ;
}
return $data ;
}
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$res = $mysqli -> query ( "INSERT INTO `preps` (`fam`, `nam`, `ot`, `job`, `mon`, `tue`, `wed`, `thu`, `fri`) VALUES ('$fam ', '$nam ', '$ot ', '$job ', '$mon ', '$tue ', '$wed ', '$thu ', '$fri ')" ) ;
if ( ! $res ) {
header ( 'Location: ' . $_SERVER [ 'HTTP_REFERER' ] ) ; } else {
echo 'Error: ' . $conn -> error ;
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<link href='https://fonts.googleapis.com/css?family=Roboto&subset=cyrillic,latin' rel='stylesheet' type='text/css'>
<title>Профессорско-преподавательский состав</title>
</head>
<body>
<div class="head-title">
<div class="top">Профессорско-преподавательский состав</div>
<div class="bottom"></div>
</div>
<table class="tabl">
<thead>
<tr>
<th class="number">№</th>
<th class="fio">Ф.И.О</th>
<th class="dolj">Должность</th>
<th class="monday">Понедельник</th>
<th class="tues">Вторник</th>
<th class="wedn">Среда</th>
<th class="thur">Четверг</th>
<th class="friday">Пятница</th>
</tr>
</thead>
<tbody>
<?PHP echo get_data( $mysqli ) ; ?>
</tbody>
</table>
<form name="insert" action="index.php" method="post">
<div>
<label style="color:white;">Введите фамилию</label>
<input name="fam" type="text">
</div>
<div>
<label style="color:white;">Введите имя</label>
<input name="nam" type="text">
</div>
<div>
<label style="color:white;">Введите отчество</label>
<input name="ot" type="text">
</div>
<div>
<label style="color:white;">Введите должность</label>
<input name="job" type="text">
</div>
<div>
<label style="color:white;">Понедельник</label>
<input name="mon" type="text">
</div>
<div>
<label style="color:white;">Вторник</label>
<input name="tue" type="text">
</div>
<div>
<label style="color:white;">Среда</label>
<input name="wed" type="text">
</div>
<div>
<label style="color:white;">Четверг</label>
<input name="thu" type="text">
</div>
<div>
<label style="color:white;">Пятница</label>
<input name="fri" type="text">
</div>
<button type="submit">Сохранить</button>
</form>
</body>
</html>
(Отредактировано автором: 09 Декабря, 2015 - 16:43:37)
lastdays
Отправлено: 09 Декабря, 2015 - 23:12:08
Частый гость
Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2013
Помог: 7 раз(а)
Nameless95 пишет: lastdays пишет: Доступ к базе уберите из скрипта
Перестает вообще что-либо добавлять
[/quote]
ВЫ это серьёзно?
В теме письма оставлен айпи/пароль (доступ открытый) к бд. Его я имел ввиду убрать.
Ппц. )))
(Отредактировано автором: 09 Декабря, 2015 - 23:12:32)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB