-
PHP для идиотов
→ PHP + MySQL - не отправляется запрос • Июль 19, 2011, 2:58 п.п.
-
PHP для идиотов
→ PHP + MySQL - не отправляется запрос • Июль 19, 2011, 2:49 п.п.
-
PHP для идиотов
→ PHP + MySQL - не отправляется запрос • Июль 19, 2011, 2:12 п.п.
Писал на php гостевую, дошёл до gb_send.php, который обрабатывает данные формы.<?php include "sqlc.php"; $username=$_POST['uname']; $usermessage=$_POST['umessage']; $tbl="CREATE TABLE IF NOT EXISTS GuestBook (dt datetime, name text, mess text);"...
Писал на php гостевую, дошёл до gb_send.php, который обрабатывает данные формы.
<?php
include "sqlc.php";
$username=$_POST['uname'];
$usermessage=$_POST['umessage'];
$tbl="CREATE TABLE IF NOT EXISTS GuestBook (dt datetime, name text, mess text);";
mysql_query($tbl) or die("Невозможно создать таблицу.");
$fill="INSERT INTO GuestBook (dt, name, mess) VALUES (NOW(),'{$username}','{$usermessage}');";
mysql_query($fill) or die ("Нельзя отправить запрос");
header("Location: test.php");
?>
Мне показывает "Нельзя отправить запрос", хотя таблица существует. Подключение к MySQL и к БД очень стабильно и верно работает. Но это ни в какую. В чём причина?
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 4:48 п.п.
// если была нажата кнопка "Отправить"if($_POST['submit']) { // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для ...
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['map'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$auth = $_POST['mapauthor'];
die( "<textarea style="width:500px; height:200px">Автор:" + $auth + "</textarea>" );
}
?>
Вот он.
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 2:47 п.п.
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 2:34 п.п.
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 2:24 п.п.
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 2:06 п.п.
-
PHP для идиотов
→ Вывод строки в php • Июль 15, 2010, 1:57 п.п.
-
PHP для идиотов
→ Получение данных формы • Июль 4, 2010, 10:33 п.п.
-
PHP для идиотов
→ Получение данных формы • Июль 4, 2010, 10:26 п.п.
Вот, скажем, раскрыли список, выбрали пункт. Запускается это:<?phpif($_POST['submit']) { // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущност...
Вот, скажем, раскрыли список, выбрали пункт. Запускается это:
<?php
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
// $to - кому отправляем
// Правильная ли проверка?
if (isset($_POST['dirmail'])) {
$to = '[email protected]';
} if (isset($_POST['prmail'])) {
$to = '[email protected]';
}
// $from - от кого
$from=$_POST['email'];
// $nm - имя отправителя.
$nm = $_POST['name'];
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, $from);
die( "Спасибо! Ваше письмо отправлено." );
}
?>
-
PHP для идиотов
→ Получение данных формы • Июль 4, 2010, 10:21 п.п.
-
PHP для идиотов
→ Получение данных формы • Июль 4, 2010, 10:16 п.п.
Как получить данные из раскрывающегося списка, узнать, что выделено, а что нет, например, для выбора адреса, куда будет отправлено письмо.
Как получить данные из раскрывающегося списка, узнать, что выделено, а что нет, например, для выбора адреса, куда будет отправлено письмо.
-
PHP для идиотов
→ Расстраничить гостевую книгу • Июль 4, 2010, 7:49 п.п.
Прочитал, вроде бы, всё сделал. Но вот мне теперь написало: Table '35693.table' doesn't existГде такое прописало? У меня в той БД таблица gb есть и всё.Вот код:<?php $nums = 10;if (isset($_GET['page'])) { $page = intval($_GET['page']);}else { $page = 1;...
Прочитал, вроде бы, всё сделал. Но вот мне теперь написало:
Table '35693.table' doesn't exist
Где такое прописало? У меня в той БД таблица gb есть и всё.
Вот код:
<?php
$nums = 10;
if (isset($_GET['page'])) {
$page = intval($_GET['page']);
}
else {
$page = 1;
}
$query = "SELECT COUNT(*) AS `counter`
FROM `table`";
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$elements = $row['counter'];
$pages = ceil($elements/$nums);
if ($page < 1) {
$page = 1;
}
elseif ($page > $pages) {
$page = $pages;
}
$start = ($page-1)*$nums;
// когда у нас в таблице нет записей
if ($start < 0) $start = 0;
$query = "SELECT *
FROM `table`
LIMIT {$start}, {$nums}";
$sql = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($sql)) {
$c=0;
$r=mysql_query ("SELECT * FROM gb ORDER BY dt DESC"); // выбор всех записей из БД, отсортированных так, что самая последняя отправленная запись будет всегда первой.
while ($row=mysql_fetch_array($r)) // для каждой записи организуем вывод.
{
if ($c%2)
$col="bgcolor='#25383C'"; // цвет для четных записей
else
$col="bgcolor='#747170'"; // цвет для нечетных записей
?>
<table border="0" cellspacing="3" cellpadding="0" width="90%" <? echo $col; ?> style="margin: 10px 0px;">
<tr>
<td width="150" style="color: #FFF8C6;">Имя пользователя:</td>
<td><?php echo $row['username']; ?></td>
</tr>
<tr>
<td width="150" style="color: #FFF8C6;">Дата опубликования:</td>
<td><?php echo $row['dt']; ?></td>
</tr>
<tr>
<td colspan="2" style="color: #FFF8C6;">—————————————————————</td>
</tr>
<tr>
<td colspan="2">
<?php echo $row['msg']; ?>
<br>
</td>
</tr>
</table>
<?php
$c++;
}
if ($c==0) // если ни одной записи не встретилось
echo "Вы - первый, кто оставляет сообщение в этой гостевой книге.<br>";
}
// далее нам надо прицепить листалку
$neighbours = 6;
$left_neighbour = $page - $neighbours;
if ($left_neighbour < 1) $left_neighbour = 1;
$right_neighbour = $page + $neighbours;
if ($right_neighbour > $pages) $right_neighbour = $pages;
if ($page > 1) {
print ' <a href="?page=1">начало</a> … <a href="?page=' . ($page-1) . '">←сюда</a> ';
}
for ($i=$left_neighbour; $i<=$right_neighbour; $i++) {
if ($i != $page) {
print ' <a href="?page=' . $i . '">' . $i . '</a> ';
}
else {
// выбранная страница
print ' <b>' . $i . '</b> ';
}
}
if ($page < $pages) {
print ' <a href="?page=' . ($page+1) . '">туда→</a> … <a href="?page=' . $pages . '">конец</a> ';
}
?>
Спустя 234 сек.
Это я поправил, но у меня теперь куча дублей сообщений в гостевой книге…
Спустя 202 сек.
Аргх. Теперь порядок вывода постов не тот, какой положено.
-
PHP для идиотов
→ Расстраничить гостевую книгу • Июль 4, 2010, 7:27 п.п.