За последние 24 часа нас посетили 59065 программистов и 1843 робота. Сейчас ищут 868 программистов ...

Как правильно передать текст на след. страницу?

Тема в разделе "PHP для новичков", создана пользователем Sice, 16 фев 2012.

  1. Sice

    Sice Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Проблема в следующем.
    Есть страница регистрации. Есть поля, которые обязательны к заполнению. Эта же страница является обработчиком.
    Пишу так:
    Код (PHP):
    1. if(empty($email) or empty($pass)){
    2. // нужно редиректнуть на эту же страницу 
    3. //(чтобы сохранился вид шаблона и т.д, а не на 
    4. //пустую страницу вывести сообщение) и послать сообщение о том,
    5. //что нужно вести все данные
    6.  
    7. die("Заполните все поля"); // Выдает пустую страницу и на ней сообщение. 
    8. //А мне нужно, чтобы сохранялась вся страница. Как это сделать ?
    9. }
    10.  
    Заранее спасибо за ответ.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вот этим вы прерываете работу скрипта с сообщением "заполните все поля" - чего еще хотите?

    логика примерно такая
    объявили массив данных
    если есть отправленные данные - перезаписали соответствующие индексы
    проверили получившийся массив. если хорошо - завершили регистрацию нужными действиями и отправили пользователя на страницу поздравлений. завершили сценарий
    вывели форму регистрации. (сюда мы попадем если к нам только пришли или если не все данные введены)

    примерно понятно?
     
  3. Sice

    Sice Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Спасибо, логику я понимаю.
    я прерываю работу скрипта, но и весь остальной шаблон не прорисовывается. А выдается сообщение на пустой странице, а мне нужно, чтобы оно выдалось внутри страницы (полной с шаблоном, в определенной ячейке)
    не знаю как еще объяснить :)
     
  4. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    Sice, изучите принципы MVC. Попробуйте отделить логику от представления.
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    правильно не выводится. потому что вы прерываете работу скрипта.
    правильную (примерную) логику я уже описал. ваша задача теперь перевести это из русского языка в язык программирования PHP

    Добавлено спустя 5 минут 52 секунды:
    OFF
    совершенно, имхо, неуместный совет. человек сначала должен научиться переводить свои мысли в синтаксис какого-либо языка программирования. а потом уже совершенствоваться. а то получится как в многих соседних ветках - человек, который даже на русском не может выговорить алгоритм уже пытается его забацать на пыхе. нормальный программист видит как он будет работать с данными на уровне своей головы, а язык программирования лишь дает возможность выполнять этот алгоритм на высоких компьютерных скоростях. любой язык. плюс многие даже не пытаются врубиться в основы вэба. потому что денвэр наше все - поставил и можешь звать себя вэб-программистом. и программы пишут на HTML... рано MVC, ой как рано...
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Примерно:
    Код (PHP):
    1. $msg=($email.$pass=='')?'Ошибка':'';
    2. echo $msg;
    3.  
    Или так:
    Код (PHP):
    1. echo ($email.$pass=='')?'Ошибка':'';
    2.  
    Но это когда много будет разных проверок:
    Код (PHP):
    1. if(empty($email) || empty($pass))
    2. {
    3.      $msg='Ошибка';
    4. }else{$msg='';}
    5. echo $msg;
    6.  
    А так изучайте ООП, меньше мороки будет с кодом.
    Даже подобных примеров.

    еще просто для наглядности:
    viewtopic.php?f=13&t=38158&p=311542#p311542
    :)))
     
  7. Sice

    Sice Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Спасибо всем большое.
    Ganzal, так и делаю. Сначала в голове или на листке бумаги, потом так. У меня мне кажется возникают очень простые вопросы, из-за переизбытка информации, читаю всего и много и начинаю элементарные вещи превращать в п-ц. (Основы и базу я знаю =))
    AndreJM, спасибо уже думал об этом. В скором времени видимо придется.
    Your, вот не знаю. Не нравится мне ООП и все, не понимаю (пока что) зачем это придумали в php, к переменным обращаться через this все время, создавать объекты, стрелочки эти бесконечные. Все это мне кажется пока громоздко :)