Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка ошибок
 
 автор: ZeeG   (12.08.2007 в 20:47)   письмо автору
 
 

Вот сделал простенький пример, но, видимо, что-то не так.
Меня интересует как работать с return false / true?

<html>
<head>
</head>
<body>
<style>
input.err {border: 1px solid red;}
</style>
<?php
!isset($_POST['test']) ? $test "" $test $_POST['test'];

  
$patern "|^[-а-я]+$|i"// только рус. слова и -. Хотелось бы еще пробел добавить(/$patern = "|^[-/n-а-я]+$|i") - ТАК?
  
if(!preg_match($patern$test)){
  return 
false;
  }return 
true;

  if(
$test === false){
      echo(
"PLEASE, CORRECT ");
      }
echo 
'<form method="POST">';
$test === false $out '<input class="err" name="test" type="text" value="'.$test.'">' $out '<input readonly=1 name="test" type="text" value="'.$test.'">'
echo $out;
echo 
'<input type="submit" class="submit" value="OK">
      </form>'
;
?>
</body>
</html>

Спасибо

   
 
 автор: parczynski   (13.08.2007 в 00:20)   письмо автору
 
   для: ZeeG   (12.08.2007 в 20:47)
 

во-первых спец символы экранируются обратным слешем - \,
во-вторых \n - начало новой строки, пробел - [:space:],
в-третьих return используется для вывода результата функции, а функции я здесь не вижу,
в-четрертых, вы вообще что-то непонятное написали, что по вашему этот скрипт должен делать

   
 
 автор: Lelik   (13.08.2007 в 00:28)   письмо автору
 
   для: ZeeG   (12.08.2007 в 20:47)
 

простой пример, проверяет полученное значение целочисленное или нет

<?php
function intValue($val){
  if(
$val == (int)$val)
    return 
true;
  else
    return 
false;
}
function 
ifels($val$msg){
  if(
$val)
    echo 
$msg;
  else
    echo 
"f**k";
}

$val1 1;
$val2 "text";
//далее применяем функцию
ifels(intValue($val1), "Проверка прошла успешно");
echo 
"<br/>";
ifels(intValue($val2), "Проверка прошла успешно");
?>

   
 
 автор: parczynski   (13.08.2007 в 00:40)   письмо автору
 
   для: Lelik   (13.08.2007 в 00:28)
 

а... понял, ну вот хоть функция появилась

   
 
 автор: ZeeG   (13.08.2007 в 10:20)   письмо автору
 
   для: parczynski   (13.08.2007 в 00:40)
 

Вот переделал и сделал функцию

<?php
!isset($_POST['test']) ? $test "" $test $_POST['test'];

function 
ruslet($rus)
 {
  
$patern "|^[-а-я]+$|i";
  if(!
preg_match($patern$rus)){
   return 
false;
  }return 
true;
 }
?>
<html>
<head>
</head>
<body>
<style>
input.err {border: 1px solid red;}
</style>
<?php
echo '<form method="POST">';
ruslet($test)=== false$out '<input class="err" name="test" type="text" value="'.$test.'">' $out '<input readonly=1 name="test" type="text" value="'.$test.'">'
echo $out;
echo 
'<input type="submit" class="submit" value="OK">
      </form>'
;
?>
</body>
</html>

Но где-то я все равно ошибку делаю. Даже не где-нибудь, а тут:

ruslet($test)=== false? $out = '<input class="err" name="test" type="text" value="'.$test.'">' : $out = '<input readonly=1 name="test" type="text" value="'.$test.'">'

   
 
 автор: ZeeG   (13.08.2007 в 10:51)   письмо автору
 
   для: ZeeG   (13.08.2007 в 10:20)
 

Ну хоть кто-нибудь может сказать что я не так делаю?

   
 
 автор: Trianon   (13.08.2007 в 11:06)   письмо автору
 
   для: ZeeG   (13.08.2007 в 10:51)
 

Применяя условную операцию, не стесняйтесь ставить побольше скобок.
Фактически все три её выражения лучше сразу брать в скобки.
Мало того, что сама по себе операция редкая, так еще и разработчики php умудрились при её синтаксическом разборе напахать изрядно.

   
 
 автор: ZeeG   (13.08.2007 в 11:15)   письмо автору
 
   для: Trianon   (13.08.2007 в 11:06)
 

Да вот что-то не выходит. скобок понаставил.

$test = (ruslet($test)=== (false))? $out = '<input class="err" name="test" type="text" value="'.$test.'">' : $out = '<input readonly=1 name="test" type="text" value="'.$test.'">'

Если Вас не затруднит - покажите как. Спасибо

   
 
 автор: Trianon   (13.08.2007 в 11:37)   письмо автору
 
   для: ZeeG   (13.08.2007 в 11:15)
 

второе и третье выражение в скобки не взяты.

   
 
 автор: ZeeG   (13.08.2007 в 11:57)   письмо автору
 
   для: Trianon   (13.08.2007 в 11:37)
 

Спасибо за помощь.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования