Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2009, 02:58   #1
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию Ошибка в логике?

ни как не пойму, почему у меня выводит: строка не содержит символов, ведь я заранее задал символ "3";
Код:
$name="3";
if (strcmp($name, ""))
    echo "строка не содержит символов!";
else  {$fp = fopen("bdpass\base.txt", "a");
      $user=$name.";".$pass."\n".".";
      fwrite($fp, $user); fclose($fp); };
Посторонним В.
NSvirus вне форума Ответить с цитированием
Старый 10.10.2009, 04:33   #2
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

PHP код:
<?php
$name
="123123";
$pass="456456456";
if (!
strcmp($name"")){ 
echo 
"строка не содержит символов!";
}
else { 
$fp fopen("bdpass/base.txt""a"); 
$user $name.";".$pass."."."\n"
fwrite($fp$user); 
fclose($fp);} 
?>
Теперь все пишет
Проблема была, в первую очередь, в условии if. Вы задали вывод строки "Строка не содержит символов", если сравнение покажет, что действительно не содержит, т.е. false. И при этом записали в условие if, что строку выводить при true. Вот и все

Последний раз редактировалось Aexx; 10.10.2009 в 04:43.
Aexx вне форума Ответить с цитированием
Старый 10.10.2009, 16:35   #3
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Aexx Посмотреть сообщение
if (!strcmp($name, "")){
echo "строка не содержит символов!";
}
Зачем тут скобки? Один же оператор.
SkyM@n вне форума Ответить с цитированием
Старый 10.10.2009, 17:05   #4
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Зачем тут скобки? Один же оператор.
повышают читабельность кода
во многих конторах это принято за правило
свободен...
wall66 вне форума Ответить с цитированием
Старый 10.10.2009, 17:08   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
повышают читабельность кода
во многих конторах это принято за правило
Семантика семантикой, но по мне - так избыточность.
SkyM@n вне форума Ответить с цитированием
Старый 11.10.2009, 04:12   #6
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

Мне так привычнее полный код писать, не упускать ничего. Дабы потом не мучиться с отладкой
Aexx вне форума Ответить с цитированием
Старый 11.10.2009, 17:03   #7
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Зачем тут скобки? Один же оператор.
По этому поводу поддерживаю Aexx'a!
InCun вне форума Ответить с цитированием
Старый 11.10.2009, 20:24   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Скобки там лишние.
А что до проверки, так почему бы не сделать такую проверку:
PHP код:
if ($name == "") echo "строка не содержит символов!"
А ещё лучше обрезать пробелы в $name функцией trim().
Arigato вне форума Ответить с цитированием
Старый 12.10.2009, 02:41   #9
Aexx
Программист тьмы
Форумчанин
 
Аватар для Aexx
 
Регистрация: 02.09.2009
Сообщений: 227
По умолчанию

Arigato, имхо, это уже демагогия)) Человек попросил помощи, мы ему ответили) Что уж он там дальше будет делать - его проблемы. Естественно, и в Hello World можно вставить защиту от JavaScript и SQL-инъекций, но зачем? Без обид))
Aexx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачек по логике! s20 Общие вопросы C/C++ 3 15.09.2009 01:06
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44
Задача по логике (ведь она у программистов была в универе Шкурина Помощь студентам 3 21.01.2009 15:11