Проверка и Default е-мейл?

novakabg

Registered
Здравей те, имам една контакт форма, обаче ми се иска да може да работи без е-мейл или по-точно да си има дефайлт примерно ако човека не е попълнил е-мейла аз да виждам примерно no-replay@moqtsait.com.

По-този начин вземам е-мейла, проверявам полето.

Код:
$contact['email'] = $this->session->data['email'];

И пробвах по-този начин

Код:
	if(!isset($this->session->data['email'])){
					$email['email'] = $this->session->data['email'];	
				} else {
				   $email_to = "no-replay@moqtsait.com";
				   $email['email'] = $email_to;	
				}


Чудя се има ли начин чрез !empty или друг метод при наличие да си ползва зададен от потребителят е-мейл и когато човека няма е-мейл и не попълне полето при мен да излиза no-replay емейла?

:)
 
Какво не е наред тук?

PHP:
if (!isset($this->session->data['email'])) {
    $email['email'] = $this->session->data['email'];
}
 
Дефакто ти трябва да проверяваш какво ти идва от $_POST, и ако е празно си слагаш дефаутовия ако не е си взимаш данните които идват.
 
Да точно, но как не ми се получава нещо кара си все едно не е попълнено полето за емейл!

Тоест аз не попълвам полето и всичко е окей, но когато въведа е-емайл си мисли че не съм въвел :D
 
Аз нещо не можах да разбера как си взимаш $_POST-а? Това което виждам е някаква сесия. Ето един пример.

PHP:
//Да кажем че имаш поле с име email
$email = $_POST['email'];
if(empty($email)){
$email = 'noreplay@mail.bg';
}
//В случая дори не ти трябва else
 
Виж първият ми коментар, имаш логическа грешка.......

PHP:
ако (няма нищо) {
    вземи нищото
} в противен случай {
    бастисай данните, които юзъра е попълнил
    и сложи тези по подразбиране
}
 
raiden каза:
Накратко
PHP:
$email['email'] = $this->session->data['email'] ?? "no-replay@moqtsait.com";

Хубаво е да поясниш, че така може след PHP7 :)
 

Горе