Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Народ, я начинающий программист и у меня возникла проблема, помогите пожалуйста кто может. Проблема следующего характера:
Создал через phpmyAdmin БД с названием 'syte', в ней создал таблицу 'users' затем два поля 'username' и 'text_user'.
<html>
<head>
<title></title>
</head>
<body>
<?php
if ((isset($_POST['act']))&&($_POST['act']=='act'))
{
if(!empty($_POST['name']))$user_name = $_POST['name'];
if(!empty($_POST['mes']))$mes = $_POST['mes'];
// Определяем значения переменным
$hostname="localhost";
$username="root";
$password="";
// Имя базы данных
$dbname="syte";
// Имя таблицы
$usertable="users";
// Создать соединение с MySql
MYSQL_CONNECT($hostname,$username) OR DIE("Не могу подсоединиться");
// Выбор БД
MYSQL_SELECT_DB($dbname) or die("Не могу выбрать БД");
// Введение информации в БД
$query="INSERT INTO users(username text_user) VALUES ('$user_name','$mes')";
MYSQL_QUERY($query);
// Закрыть соединение
MYSQL_CLOSE();
print "Запись введена в БД! <br>";
echo "<br><br><a href=".$_SERVER['PHP_SELF'].">еще раз</a>";
}
else{
$hostname="localhost";
$username="root";
$password="";
$dbname="syte";
$usertable="users";
// Создать соединение с MySql
mysql_connect($hostname,$username) or die("Не могу подсоединиться");
mysql_select_db("$dbname") or die("Не могу выбрать БД");
// Выбрать все записи
$query="select * from ".$usertable;
$result=mysql_query($query);
while ($rez=mysql_fetch_array($result)){
echo $rez;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">
введите имя:<input name="name" type="text" value="">
<br>ваше сообщение:<br><textarea name="mes" rows=5 cols=20 wrap="off"></textarea>
<input name="act" type="hidden" value="act">
<input type="submit" value="отправить">
</form>
<?php
}?>
</body>
</html>
Я молчу про то что у вас переменные $user_name и $mes могут получиться неинициализированными.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Ну смотрите, оно ошибок не выдает, якобы все Ок, но на самом деле ничего не вносит в эту таблицу, можете пожалуйста по-подробнее объяснить где я напортачил, может при создании самих полей в таблице необходимо задать какие-то особые параметры. Цель: создать поле с именем отправителя сообщения, и собсно поле с самим сообщением
Вы кажется ничего не поняли... Все не якобы ОК, а все что касается запроса и его исполнения нам не известно, потому как у вас отсуствует обработка ошибок этой части кода вообще. Образец как ее можно осуществить я написал.
Даже если это поможет - обработка ошибок все равно нужна... часто их просто взглядом не вычислить.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Во-первых, лучше mysql_fetch_assос, а во вторых результатом работой этой ф-и явдляется массив. В общем, курите доки
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
mtzet
Есть мануалы, и есть файлы phpBB, в которых примеров нормального оформления разных запросов в базу - пруд пруди. Можете прямо оттуда брать целые блоки для своих нужд.
Xpert писал(а):у вас переменные $user_name и $mes могут получиться неинициализированными.
Проверки нет на пустоту, какой смысл заносить в базу пустые записи?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Xpert,
Огромнеешее Вам спасибо, Ваш способ на много лучше и больше мне подходит, в плане реализации совмещения вывода данных из БД с применением элементов дизайна страницы.
Добавлено спустя 5 минут 16 секунд:
На счёт проверки на пустоту я реализовал следующий блок:
Уважаемые программисты, я не знаю к какой теме отнести мой вопрос, администраторы исправят я надеюсь, поэтому я решил спросить тут же, где мне уже однажды помогли. Вопрос такой: каким средством я могу осуществить в выполнении моего сценария переход на другой документ. Например у меня выполняется сценарий в подкаталоге "root/gbook/index.php" и мне необходимо при невыполнении определенного условия отправить процесс выполнения сценария в другой каталог, например - "root/movies/index.php". Каким образом можно это сделать? Я так понимаю что функция links() - это не то что мне нужно?