Jump to content

rus

Expert
  • Posts

    5,943
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by rus

  1. Да, действительно бред. Не ругается Пробовал так: <?php $HTTP_SESSION_VARS['flag']; if (empty($_POST['title']) || empty($_POST['small_text']) || empty($_POST['full_text'])){ echo 'нет данных'; } elseif ($_SESSION['flag'] == false) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) echo '<h1>Информация успешно занесена в базу!</h1>'; $_SESSION['flag'] = true; } else { $query = mysql_query ("SELECT title FROM pages WHERE title='{$_SESSION['flag']}' LIMIT 1"); if ($query == true) $_SESSION['flag'] = false; echo 'Данные уже добавлялись!!!'; } ?> Так же, через раз: то заносит инфу в бд, то выдает ошибку - Данные уже добавлялись. З.Ы. я еще не надоел? Нутром чую что я на правильном пути, но пока не доходит до меня.
  2. Да, к стати верное замечание! Пробовал вот так: elseif ($_SESSION['flag'] == false) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text') WHERE `title`='{$_SESSION['flag']}'"); if ($result == true) echo '<h1>Информация успешно занесена в базу!</h1>'; $_SESSION['flag'] = true; } Не то... все равно пишет что данные уже добавлялись. WHERE `title`='{$_SESSION['flag']}' Может неправильный запрос?
  3. Хех, да тут все просто. Эта форма для создания нового раздела. Из титла будет формироваться страница.html (путем преобразования русских в латиницу без модреврайт) + заголовок + название раздела, а краткий и полный тексте это содержание контента.
  4. Немного покопавшись, понял что надо еще немного внести изменений. Дело в том, что таким образом добавится инфа только один раз, а последующая инфа с другими значениями пришедшими из той же формы уже не добавятся, вот... в связи с этим, пришла такая идея: присваивать именно этой сессионной переменной случайным образом rand(); либо srand(); айди и проверять, если после обновления страницы айди изменился, то хз... что-то надо сделать.... а вот что, ума не приложу.
  5. Да, именно так и надо сделать. Спасибо, обязательно почитаю, если возникнут вопросы - напишу, хорошо? Разрушение сессии точно не нужно, так как разлогинивает сразу же и выбрасывает на индекс.
  6. Решил постом сделать, все-равно не алле... если пустые приходят значения - то просит не обновлять, если обновишь - то покажет нет данных и так при каждом обновлении. Если форма заполнена - все тоже самое, при каждом обновлении страницы, выводятся: не обновлять и информация добавлена, при этом соответственно инфа добавляется в бд так же через раз. <?php if (!isset($_SESSION['flag']) || $_SESSION['flag']==false) { if (empty($_POST['title']) || empty($_POST['small_text']) || empty($_POST['full_text'])){ echo 'нет данных'; } else { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) { echo '<h1>Информация успешно занесена в базу!</h1>'; } } $_SESSION['flag'] = true; } else{ echo 'Не обновлять!'; $_SESSION['flag'] = false; exit(); } ?>
  7. Да эта проверка в старой версии стояла, не стал ее убирать, она в общем то и не нужна.
  8. С постом я бы справился худо бедно, мне просто не хочется использовать несколько файлов для каждой операции. Представь себе что помимо занесения в бд данных, есть еще их обновление и удаление, что ж мне теперь множить на каждую операцию файлы? UPD: - можно было бы конечно и в одном файле обрабатывать данные, но проблема в том, что переменные одинаковые... хотя их конечно можно и изменить, либо как-то идентифицировать... вобщем уже чайник кипит. З.Ы. вот как-то так получилось, но срабатывает через раз, а именно: нажал сабмит - данные занеслись, нажал F5 - показал ошибку, опять нажал обновить - данные опять занеслись... и так в цикле <?php if (!isset($_SESSION['flag']) || $_SESSION['flag']==false) { if ($_GET['title'] == '' || $_GET['small_text'] == '' || $_GET['full_text'] == '') echo 'нет данных'; $_SESSION['flag'] = true; } else { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) echo "<h1>Информация успешно занесена в базу!</h1>"; $_SESSION['flag']=false; } ?>
  9. Тоже не пашет: if(isset($_SESSION['lastPostHash']) && $_SESSION['lastPostHash'] == md5($_GET['title']. $_GET['small_text'].$_GET['full_text'])){ echo 'не обновляйте страницу'; } else{ $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) { echo '<h1>Информация успешно занесена в базу!</h1>'; } $_SESSION['lastPostHash'] == md5($_GET['title']. $_GET['small_text'].$_GET['full_text']); } Вариант Int немного не понял Так же пробовал что-то типа такого: if (!isset($_SESSION['flag']) || $_SESSION['flag']==false) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) {echo "<h1>Информация успешно занесена в базу!</h1>";} $_SESSION['flag'] = true; } else{ if ($_GET['title'] == '' || $_GET['small_text'] == '' || $_GET['full_text'] == '') echo 'нет данных'; } Тоже немного не то... Еще раз попробую объяснить: В общем есть форма, данные которой отправляются гетом и естесственно при этом, все что попало в переменные title, small_text, full_text, будут храниться в строке браузера и при обновлении страницы, они повторно попадают в бд. Вот как этого избежать? Так же конечно надо сделать проверку на пустые переменные, если они есть, то уничтожаем их, это я в принципе сделал.
  10. Вобщем твой вариант не пашет, что я не так делаю? Ошибку выводит что нет данных, но при этом все равно заносит инфу в бд. $_SESSION['flag']=false; if ($_SESSION['flag']==false) { if ($_GET['title'] == '' || $_GET['small_text'] == '' || $_GET['full_text'] == '') echo 'нет данных'; $_SESSION['flag']=false; } if (!$_SESSION['flag']==true) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) { echo "<h1>Информация успешно занесена в базу!</h1>"; $_SESSION['flag']=true; } } else { echo "<h1>Ошибка в скрипте! Информация не добавлена!</h1>"; } Буду пробовать другие варианты...
  11. Как здорово что есть несколько примеров, есть что выбрать. Я в начале не пояснил для чего мне все это нужно и возможно задача отчасти из-за этого приобрела хаотичный вид... Вобщем вся эта канитель для моей админки, а использую обработку в одном файле гетом потому, что не хотелось бы на разные операции множить файлы обработчики, тем самым захламляя директорию. К стати, если я иду не тем путем, может скажете? И еще, чпу для основного меню решил сделать на php, без использования модреврайт, путем преобразования русских букв в латиницу, введенных в форму при указании название раздела, насколько правильный этот метод? Есть у него недостатки?
  12. Эмм... не совсем понял, типа этого? session_start(); $_SESSION['flag']=false; if (!$_SESSION['flag']==true) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) { echo "<h1>Информация успешно занесена в базу!</h1>"; $_SESSION['flag']=true; Заносит пустые значения.
  13. Зарегистрирована, я в первую очередь об этом подумал.
  14. До проверки пока не дошел, просто зациклился на этом и пока не решу, к другому не смогу перейти. Все тестится пока что на локалхосте. По поводу: В самом начале идет такой код: <?php session_start(); $_SESSION['flag']=false; Далее: <?php if (!$_SESSION['flag']) { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == true) { echo "<h1>Информация успешно занесена в базу!</h1>"; $_SESSION['flag']=true; } } else { echo "<h1>Ошибка в скрипте! Информация не добавлена!</h1>"; } ?> Не пашет... может я чего не догоняю? Объясни пожалуйста если есть возможность и желание, если нет - ничего страшного.
  15. У меня все обрабатывается в одном файле гетом.
  16. То есть, создаю страницу на которую редиректю, а с нее обратно на изначальную так? А чем лучше?
  17. 1) Но ведь в таблице так же можно создать доп. поле по которому можно проверять как по сессионной переменной, или я ошибаюсь? 2) А разве в результ не строка попадает? По коду не получилось, так как заносит даже пустое значение.
  18. Можно немного поподробнее? Я пробовал уничтожать переменную, при помощи unset но че-то не срабатывает. То есть, мне нужно еще создать дополнительную строку в таблице бд типа: blabla_id и делать проверку что-то типа: if (isset($_SESSION['blabla_id'])) { тут что? }
  19. Добрый день! Подскажите пожалуйста, как кроме header: location можно избавиться от автообновления и добавления инфы в базу? Есть вот такой код: <?php if ($_GET['title'] == '' || $_GET['small_text'] == '' || $_GET['full_text'] == '') { echo "<h1>Вы ввели не всю информацию, поэтому она не может быть добавлена в базу!</h1>"; } else { $result = mysql_query ("INSERT INTO pages (title,small_text,full_text) VALUES ('$title','$small_text','$full_text')"); if ($result == 'true') { echo "<h1>Информация успешно занесена в базу!</h1>"; } else { echo "<p>Ошибка в скрипте! Информация не добавлена!</p>"; } } ?> Если обновить страницу, то инфа опять занесется в базу.
  20. 1) html - это не программирование, а разметка текста на странице. 2) Средствами только html этого не решить. 3) Насчет не поддерживает... хм, тут может быть только настройки апача.
  21. что-то типа того: <?php echo '<div style="width:600;height:400;owerflow:hidden;">'; include (<img src="http://syte.ru/тут искомая картинка которая генерится автоматом">); echo '</div>'; ?> Правда все зависит от того каким образом там генерируется картинка.
  22. Как это не поддерживается, кем не поддерживается?
  23. rus

    <table> VS <div>

    Ну может хватит уже, а? Сколько можно поднимать эту замусоленую тему (как во флейме про ИЕ 6)? ТС, верстайте так, как считаете нужным, нам же больше достанется денег
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy