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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сравнение переменных - не могу понять

Сообщения:  [1-10]   [11-11] 

 
 автор: nek-v   (20.06.2008 в 20:29)   письмо автору
 
   для: Zend72   (20.06.2008 в 15:08)
 

Блок настроек сессий.
А именно тот код что я дал это каркас, там много чего еше есть.
у меня конфликтовали настройки php и session_save_path()

   
 
 автор: Zend72   (20.06.2008 в 15:08)   письмо автору
 
   для: nek-v   (20.06.2008 в 14:27)
 

Возможно кто либо еще сталкнется с подобной проблемой... Не могли бы вы описать решение которое нашли: что конкретно в настройке PHP на localhost было неверно?

   
 
 автор: nek-v   (20.06.2008 в 14:27)   письмо автору
 
   для: Trianon   (20.06.2008 в 14:16)
 

Спасибо граждане! Отыскал я проблему. Все дело в кривизне рук при настройке php на локалхосте.

   
 
 автор: Trianon   (20.06.2008 в 14:16)   письмо автору
 
   для: nek-v   (20.06.2008 в 14:05)
 

Надо смотреть на значения более точно.
замените
 print'Error<br/>'; 
 echo $_SESSION['code']; 
 echo $_POST['input']; 

на
 print 'Error'; 
 echo "<br/>Session code: ". base64_encode($code); 
 echo "<br/>Input code: ". base64_encode($input); 

   
 
 автор: nek-v   (20.06.2008 в 14:05)   письмо автору
 
   для: mihdan   (20.06.2008 в 11:57)
 

пробовал и так, не помогает...

   
 
 автор: Trianon   (20.06.2008 в 12:48)   письмо автору
 
   для: Zend72   (20.06.2008 в 12:46)
 

>Тонкостей не знаю но у него изначально было
>$input=@$_POST['input'];
>Зачем нужен символ @ ?

Например, чтоб не было ругани, когда скрипт вызван не из формы, а через GET.
Так или иначе @ никак не повлияет на тип значения, если это значение пришло из формы.

   
 
 автор: Zend72   (20.06.2008 в 12:46)   письмо автору
 
   для: Trianon   (20.06.2008 в 12:43)
 

Тонкостей не знаю но у него изначально было
$input=@$_POST['input'];

Зачем нужен символ @ ?

   
 
 автор: Trianon   (20.06.2008 в 12:43)   письмо автору
 
   для: Zend72   (20.06.2008 в 11:57)
 

Я тоже считаю, что операция тождественного сравнения здесь лишняя.
Но до меня не доходит, почему это может повлиять на результат. Типы переменных-то совпадают...

   
 
 автор: mihdan   (20.06.2008 в 11:57)   письмо автору
 
   для: nek-v   (20.06.2008 в 11:34)
 

Зачем

<?
$input 
=== $code
?>


сделай так

<?
$input 
== $code
?>

   
 
 автор: Zend72   (20.06.2008 в 11:57)   письмо автору
 
   для: nek-v   (20.06.2008 в 11:34)
 


<?php 
session_start
(); 
$input=$_POST['input']; 
$code=$_SESSION['code']; 
 if(
$input == $code){ 
 print
'OK!'
 echo 
$_SESSION['code'];  
 }else{ 
 print
'Error<br/>'
 echo 
$_SESSION['code']; 
 echo 
$_POST['input']; 

?>


$a == $b Равно TRUE если $a равно $b.
$a === $b Тождественно равно TRUE если $a равно $b и имеет тот же тип. (Добавлено в PHP 4)
$a != $b Не равно TRUE если $a не равно $b.
$a <> $b Не равно TRUE если $a не равно $b.
$a !== $b Тождественно не равно TRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4)
$a < $b Меньше TRUE если $a строго меньше $b.
$a > $b Больше TRUE если $a строго больше $b.
$a <= $b Меньше или равно TRUE если $a is меньше или равно $b.
$a >= $b Больше или равно TRUE если $a больше или равно $b.

Операторы сравнения

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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