MyEducationPath  

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
код не праціює
#11
так і є , але при всіх випадках заповнення форми виконується тільки else! і все) Ось така проблема
Reply
#12
(05-14-2015, 01:23 PM)Vadim Wrote:  так і є , але при всіх випадках заповнення форми виконується тільки else!  і все) Ось така проблема

так і має бути. чи ні?

коли ти відкриваєш сторінку то виконується умова
if (! isset($_POST['name'])){
include 'test.html.php';
}

тому що нічого не передано ($_POST['name'] не існує, тобто ! isset($_POST['name']) це true)
а коли ти щось передаш то $_POST['name'] буде вже в масиві, тому буде виконувати блок else{ ... }

зчитаються дані, встановиться $output і потім include 'welcome.html.php';

хіба в тебе не так?
Reply
#13
if ($name =='Вадим' and $lastname='Волк'){
$output ='Добро пожаловать Ваше Величество ';
Якщо я передаю таке значення то виконується всеодно блок else! Навіть якщо я пережаю пусту строку то всеодно віконується оцей блок
}else{
$output = 'Добро пожаловать на сайт '." ".
htmlspecialchars($name, ENT_QUOTES, 'UTF-8'). htmlspecialchars($lastname, ENT_QUOTES, 'UTF-8').'!';
на рахунок цього блоку
if (! isset($_POST['name'])){
то я так зрозумів ,що він перевіряеє і якщо форма пуста то він повертає назад фаил з формою для повторного введеня поки його не введуть якесь значення! Чи не так?
include 'test.html.php';
Reply
#14
так . ти правильно зрозумів.

ну давай подебажимо.

зроби самий простий варіант.

PHP Code:
<?php

if (! isset($_REQUEST['name'])) {
echo 
'1';
} else {
echo 
'2';
}

?>

збережи у файл test1.php
і викличи його через броузер типу http://localhost/test1.php (в тебе може бути інший хочт сервера)
має показати 1.

потім викличи по ссилці http://localhost/test1.php?name=12345
має показати 2.

ми замінили тут $_POST на $_REQUEST він містить в собі всі значення із $_POST
Reply
#15
Зробив все працює! Я також переробив фаіл и він теж запрацював, але коли я відправляю пусту форму то віконується цей блок }else{
$output = 'Добро пожаловать на сайт '." ". А цей чомусь пропускаеться if (! isset($_POST['name'])){
include 'test.html.php';
}
? Тобто помылка була у прийнятті потрібно завжди писати реквест? на логін т апароль?
Reply
#16
(05-14-2015, 04:28 PM)Vadim Wrote:  Зробив все працює! Я також переробив фаіл и він теж запрацював, але коли я відправляю пусту форму  то віконується цей блок }else{
$output = 'Добро пожаловать на сайт '." ".  А цей чомусь пропускаеться  if (! isset($_POST['name'])){
include 'test.html.php';
}
? Тобто помылка була у прийнятті потрібно завжди писати реквест? на логін т апароль?

можна писати реквест. але і пост мав би працювати у твоєму випадку.
може щосб не так в строці method="post"

ти коли відправляєш форму то у строці адреса є якісь аргументи після "?" типу ?name=то_шо_ти_ввів ? є таке?
може бути що форма відправляє методом GET замість пост
Reply
#17
Я приймаю реквестом то нічого не мае є фаіл и і потім зразута сторінка яка мені треба! А коли приймав постом то було те що ти написав) !Дуже дякую за допомогу)

тыльки ныяк не можу зрузуміти що в цьому випадку робить функція іссет ! Дуже багато прочитав, але так і не зрозумів(
Reply
#18
функція isset перевіряє чи змінна існує, має якесь зеачення відмінне від null
якщо ти зробиш
PHP Code:
<?php
if (isset($a)) {
echo 
'yes';
} else {
echo 
'no';
}
?>

то покаже no? бо ця змінна взагалі не була ініційована.
також покаже no для

PHP Code:
<?php
$a 
null;
if (isset(
$a)) {
echo 
'yes';
} else {
echo 
'no';
}
?>

а для цього покаже yes

PHP Code:
<?php
$a 
'text';
if (isset(
$a)) {
echo 
'yes';
} else {
echo 
'no';
}
?>

так само для масивів. якщо елемент масиву з таким ключем є і не null то функція каже що він існує

PHP Code:
<?php
$a 
= array('k1'=>1,'k2'=>2);
if (isset(
$a['k1'])) {
echo 
'yes';
} else {
echo 
'no';
}

if (isset(
$a['k3'])) {
echo 
'yes';
} else {
echo 
'no';
}

?>

покаже yesno (тобто в першому випадку існує а в іншому ні, немає такого ключа)

при передачі аргументів із форми вони забиваються в масив $_REQUEST (і ще 2 інші масиви для гет і пост окремо).
якщо форма була відправлена то там буде ключ
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)