Синтаксис вопрос

Статус
В этой теме нельзя размещать новые ответы.

genarator2003

Постоялец
Регистрация
23 Авг 2007
Сообщения
115
Реакции
8
не понятен синтаксис что тут вообще происходит???
PHP:
$output = str_replace('%', $number, ( false === $more ) ? __('% Comments') : $more);

непонятна конструкция
PHP:
( false === $more ) ? __('% Comments') : $more
объясните плз что здесь происходит
ЗЫ код из сорсов вордпресса
 
Это аналог IF ELSE
в твоем случае:
PHP:
if ( false === $more ) {
  $foo = __('% Comments');
} else {
  $foo = $more;
}
$output = str_replace('%', $number, $foo);
 
Неплохо кодеры в вордпресе пишут -)
Вообще, такие конструкцие конечно короче, но гораздо менее читабельны, особенно спустя 6-10 месяцев, нифига не понятно =)
Хотя сам так привык к ним, нада отучаться -)
 
PHP:
if ($_POST)
{ 
$error='';
require('config.php');
require("captcha.class.php");
$user=$_POST['user'];
$pass2=$_POST['pass2'];
$pass=$_POST['pass'];
$email=$_POST['email'];
$name=$_POST['name'];
$regdate=Date('Ymd');
settype($regdate,"string");
 if (!KCAPTCHA::validate($_POST['confirmCode'])) $out='Wrong Captch!';
 else 
	 { 
		if ($pass==$pass2){$pass=md5($pass2);}else{$error.='<br>pass';}
		
		$sql="SELECT * FROM ".$sql_pref."users WHERE usr=$user";
		$result=@mysql_query($sql,$con);
		$row = @mysql_num_rows($result);
		if ($row!=0){ $error.='<br>Exist';}

		if ($error==''){	
			$sql="INSERT INTO `".$sql_pref."users` ( `usr` , `pwd` , `regdate`,`email`,`name`)VALUES ('$user', '$pass','$regdate','$email', '$name');";
			@mysql_query($sql,$con);
			$out='ok';
							} else {$out=$error;}
	}
}
Здраdствуйте, не происходит проверка $pass==$pass2
Как исправить?
Заранее спасибо!
 
Ну во первых, почему бы не создать в новой теме.
Во вторых нужно научиться делать дебаг кода.
для вышеуказанного случая просто вывести 2 переменные
echo '<LI>'.$pass;
echo '<LI>'.$pass2;
и сразу будет видно все

Удачи.

по ходу, в коде идет УЖАСНАЯ проверка приходящих данных POST!
 
пеовернка на самом деле другая, просто это некоторое упрощение чтобы не постить все сразу.
 
PHP:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Вот ещё кусок альтернативного синтаксиса тож не ясно что делает получается что-то типа 2х else ??!!!:eek:

Где можно почитать про сокращения и альтернативный синтаксис на русском?? А то теряюсь вообще.
 
PHP:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Вот ещё кусок альтернативного синтаксиса тож не ясно что делает получается что-то типа 2х else ??!!!:eek:

Где можно почитать про сокращения и альтернативный синтаксис на русском?? А то теряюсь вообще.

это альтернативный синтаксис
if () :
endif;
while () :
endwhile;

Для просмотра ссылки Войди или Зарегистрируйся
 
  • Заблокирован
  • #9
Во вторых нужно научиться делать дебаг кода.
для вышеуказанного случая просто вывести 2 переменные
echo '<LI>'.$pass;
echo '<LI>'.$pass2;
и сразу будет видно все

echo '<pre>',var_dump($_POST),'</pre>'; ;)
 
Это аналог IF ELSE
в твоем случае:
PHP:
if ( false === $more ) {
  $foo = __('% Comments');
} else {
  $foo = $more;
}
$output = str_replace('%', $number, $foo);

НО одно но в этой конструкции: 'условие ? возвращаемое_значение1 : возвращаемое_значение' работает присваивание, т.е. это if можно присвоить переменной.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху