[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прошу консультации по коду
тотже
Неужели так сложно войти в положение и понять, что если я первый день изучаю язык, то понятия не имею, В ЧЕМ ЗДЕСЬ проблема, потому я НЕ МОГУ дать нормального названия теме и потому вообщем-то я и обратился сюда за помощью?

продублирую:


 ! 

М
Дубль удален
FatCat




Спустя 5 минут, 51 секунда (16.11.2010 - 21:24) kovaldm написал(а):
Первой строкой в индексе пропиши вот это
error_reporting(E_ALL);

и смотри какие ошибки вылезут.

Спустя 4 минуты, 19 секунд (16.11.2010 - 21:28) Sanchopansa написал(а):
ну вообщето массив $_POST есть всегда и такое условие неправильное..
if ($_POST)


Правильно проверять так
if (isset($_POST['subjstart']))


Запрос на запись данных составлен не правильно...
mysql_query("INSERT INTO `subj` VALUES(LAST_INSERT_ID(), '$subjstart', '0', '0' );");


Вот так будет правильно
mysql_query("INSERT INTO `subj` VALUES(null, '$subjstart', '0', '0' );");


А вот этого я вообще не понимаю...
$redir="http://".$_SERVER[HTTP_HOST]."/subj/".$id."";
header("Location: $redir");

Я так понимаю это редирект сам на себя? Значит скрипт никогда не доходит до этого кода..

$subjall=mysql_query("SELECT * FROM subj WHERE subjtext='".$subjstart."'");
$subj=mysql_fetch_array($subjall);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<
link rel="shortcut icon" href="/i/favicon.ico" />
<
link media="screen" href="/s/8.css" type="text/css" rel="stylesheet" />

<
title><?php echo $subj[subjtext]; ?></title>
<
meta name='description' content="123">
</
head>

<
body>
<?php echo $subj[subjtext]; ?>

</body>
</
html>

<?php
mysql_close($dbio);
}
?>

Спустя 2 минуты, 41 секунда (16.11.2010 - 21:31) Invis1ble написал(а):
тотже
думаю, нужно тебе с чего-нибудь попроще начать (я имею ввиду код)

Спустя 5 минут, 41 секунда (16.11.2010 - 21:37) Sanchopansa написал(а):
Invis1ble
Солидарен.. Для первого дня с ПХП это сложноватый код smile.gif Даже ОЧЕНЬ!

Спустя 1 час, 48 минут, 17 секунд (16.11.2010 - 23:25) тотже написал(а):
kovaldm
спасибо,полезно будет знать
Sanchopansa
также спасибо за замечания, вот как раз то, что не понятно, мне и нужно) ну или почти это. вообщем нужно сделать так, чтобы введенный текст с формы отображался на странице, на которую осуществлен этот редирект по адресу localhost/subj/81, например. Пока писал, почему-то появились сомнения насчет правильности .хтаксеса.. хотя ведь открывается по такому адресу скрипт. Но вот данные полученные с формы почему-то не выводятся даже обычным "echo $subjstart". Что можете подсказать по этому поводу? Это ведь вроде и есть азы php, можно сказать)
а условие оставил на будущее для проверок введенных данных.
Invis1ble
потому и делал по аналогии с уже нормально работающим скриптом, да и ситуация такая тут сложилась, что нужно научиться побыстрей)

Спустя 1 час, 28 минут (17.11.2010 - 00:53) inpost написал(а):
Данные с формы: echo $_POST['subjstart']; или $_GET, в зависимости от метода передачи формой данных: <form method="post">

Спустя 5 часов, 15 минут, 51 секунда (17.11.2010 - 06:09) Paha4 написал(а):
Цитата (Sanchopansa @ 16.11.2010 - 18:28)
ну вообщето массив $_POST есть всегда и такое условие неправильное..
if ($_POST)


Правильно проверять так
if (isset($_POST['subjstart']))


Ололо, :lol:
Цитата
массив $_POST есть всегда и такое условие

бугага. Ржу не магу. Советчик. Дай статью где написано что массив $_POST есть всегда, я заплюю их ололошками ;) . также кто сказал что нельзя использовать это
if ($_POST) ? Можно, я год с лишним так делаю и фсе нормуль.

Галактика негодоуэ.

Спустя 2 часа, 34 минуты, 49 секунд (17.11.2010 - 08:43) Семён написал(а):
Цитата (Sanchopansa @ 16.11.2010 - 22:28)
ну вообщето массив $_POST есть всегда и такое условие неправильное..
if ($_POST)



laugh.gif

Спустя 5 минут, 18 секунд (17.11.2010 - 08:49) тотже написал(а):
inpost
дак я в курсе, делаю ведь $subjstart = $_POST['subjstart'];, а потом вывод этой переменной - и ничего.
вообщем если проверить if (isset($_POST["subjstart"])) {echo '123123';} else {echo '111';} то видно, что subjstart из формы не передается.. или передается, но не туда чтоли) скажите, куда копать?
вот сама форма, вроде бы все правильно..

<form action="subj.php" method="post" id="askform" autocomplete="off">
<textarea
name="subjstart" rows="5" cols="40" id="da" class="empty"></textarea>
<input
class="btns" type="submit" name="subj_start" value="go" id="askbtns" />
</form>


Спустя 19 минут, 43 секунды (17.11.2010 - 09:09) linker написал(а):
Че вы ржоте, $_POST действительно есть всегда, другое дело его содержимое. Но в данном случае
if ($_POST)
{
$subjstart = $_POST['subjstart'];
...

}
не является логически верным, правильно так
if (isset($_POST['subjstart']))
{
...
}

Спустя 7 минут, 43 секунды (17.11.2010 - 09:16) Семён написал(а):
Лично я посмеялся, что чувак, проверяет на существование, когда оно всегда существует. Если есть необходимость проверить существование инфы внутри post-a, то я бы заюзал if(!empty($_POST))

Спустя 1 минута, 49 секунд (17.11.2010 - 09:18) linker написал(а):
Ну он там проверяет тупо на пустоту данного массива. И типа если он не пустой, то почему-то думает, что там обязательно есть элемент с ключом subjstart.

Спустя 17 минут, 54 секунды (17.11.2010 - 09:36) тотже написал(а):
давайте не зацикливаться на этом условии, проблема совсем не в нем, и его я уже убрал.

как сделать так, чтобы после принятия данных от формы методом post, эти данные можно было увидеть по нужному урлу(в данном случае "/subj/id"?
что я делаю не так?


Спустя 16 минут, 17 секунд (17.11.2010 - 09:52) linker написал(а):
А ты mod_rewrite прикрутил? Правила настроил?

Спустя 4 минуты, 2 секунды (17.11.2010 - 09:56) FatCat написал(а):
Цитата (тотже @ 16.11.2010 - 22:18)
Неужели так сложно войти в положение и понять

Я вошел в положение и не забанил по айпишнику. Хотя полагалось.

Для гостей возможность писать в тему закрыта.

Спустя 7 минут, 59 секунд (17.11.2010 - 10:04) totje написал(а):
linker
ну я построил htaccess по аналогии с работающим скриптом, стал открываться нужный урл, но данных на нем нет, как я уже говорил - лишь голый хтмл. а правило еще в первый пост поместил, в конец.
вот содержимое файла:

RewriteEngine On

RewriteRule ^subj/([^/]*)(/?)+$ subj.php?id=$1 [L]

Спустя 1 час, 17 минут, 39 секунд (17.11.2010 - 11:22) linker написал(а):
Используй массив $_GET

Спустя 14 минут, 17 секунд (17.11.2010 - 11:36) totje написал(а):
странно, но до этого пробывал и был тотже результат. сейчас данные выводятся, но редирект на урл не осуществляется, да и вообще по нужному адресу все также пусто=\

Спустя 16 минут, 19 секунд (17.11.2010 - 11:52) Sanchopansa написал(а):
Paha4
вот тебе статья которую ты можешь "заплюю их ололошками"... Умник блин..
var_dump($_POST);
var_dump($_GET);


totje
Может есть смысл написать нормально редирект? ну типа
$redir="subj.php?id=".$id;

Спустя 1 час, 43 минуты, 39 секунд (17.11.2010 - 13:36) totje написал(а):
Sanchopansa
да это особо сути не меняет, все равно после редиректа переменные куда-то теряются и не выводятся.. "Notice: Undefined index: subjstart in F:\Program Files\XAMPP\xampp\htdocs\subj.php on line 9" как-то так

Спустя 29 минут, 2 секунды (17.11.2010 - 14:05) linker написал(а):
Потому что используешь $_POST, а не $_GET, я на это уже указывал.

Спустя 29 минут, 12 секунд (17.11.2010 - 14:34) totje написал(а):
linker
нет, я же выше отписался, что оставил get, но редирект нормально так и не работает.
можно упростить все до такого:

$subjstart = $_GET['subjstart'];
mysql_query("INSERT INTO `subj` VALUES(null, '$subjstart', '0', '0' );");
$id=mysql_insert_id();
$redir="subj/".$id;
header("Location: $redir");
echo $subjstart;

запись в базу выполняется, на урл переходит. $_GET['subjstart'] до скрипта доходит, но на нужном урле не отображается.
где ошибка, не пойму=\

Спустя 1 час, 24 минуты, 2 секунды (17.11.2010 - 15:58) Paha4 написал(а):
Sanchopansa
да признаю что касяк с моей стороны, что массив $_POST не существует, но пля все равно правильно делать так if ($_POST), а после этого уже по отдельности проверять.

Спустя 17 часов, 36 минут, 19 секунд (18.11.2010 - 09:35) totje написал(а):
решил беду так:

после редиректа:
$url = $_SERVER["REQUEST_URI"];
$subj_id = substr($url, 6);
echo $subj_id;
$subjall=mysql_query("SELECT * FROM subj WHERE id='".$subj_id."'");
$subj=mysql_fetch_array($subjall);
echo $subj[subjtext];


как думаете, сойдет или слишком извращенно? :huh:

Спустя 3 дня, 3 часа, 57 минут, 30 секунд (21.11.2010 - 13:32) totje написал(а):
наверное, можно закрывать. с хедером и получением данных давно уже разобрался и переписал в более менее нормальный вид)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.