<?php $b=6; $a = ($b == 6) ? "равно" : ($b < 6) ? "меньше" : "больше"; echo $a; ?> почему этот код выдаёт меньше?
да, так лучше) а происходит это я так понял из-за ассоциативности http://www.php.ru/manual/language.operators.html
на сколько мне помнится нет(хотя могу и ошибаться, пусть поправят) это называется тернарная условная операция суть в том что если в блоке Else указывается условие его надо брать в скобки то есть если бы вы сделали еще один блок его тоже надо брать в скобки $a = ($b == 6) ? "равно" : (($b < 6) ? "меньше" : (($b >= 6) :"больше или равно" : "больше")); как то так)) условие корявое конечно, но в голову чет ниче не лезет))
даже если смотреть по-шагово: PHP: $b=6; ($b == 6) ? "равно" : ($b < 6) // true "равно" ? "меньше" : "больше"; // true $b=100500; ($b == 6) ? "равно" : ($b < 6) // false ($b < 6) ? "меньше" : "больше"; // false
да знаю что условие корявое)) $a = ($b == 'apr') ? "апрель" : (($b == 'may') ? "май" : (($b == 'yun') ? "июнь" : "другой месяц")); думаю такой вариант правильней?)) а по моему вопросу кто нить поможет?)) http://forum.antichat.ru/showpost.php?p=2769888&postcount=19077
А если создаешь файл с таким содержанием: PHP: <? function redirekt () { setcookie('login',false); setcookie('time',false); header("Location: adm.php?error"); } redirekt(); ?> Редерект сработает ведь?) Ошибка явно не в этом куске кода, имхо )
я вообще не пойму в чем там "ошибка" но если стоит функци echo то все работает, иначе условия не выполняются. он их просто пропускает, такое происходит в трех файлах, если нет функции echo то они не работают, я ни черта понять не могу, стоит добавить функцию echo в те места, где она не сработает, как все условия начинают обрабатываться, может это с денвером косяки??))
ishpanec Что вы понимаете под "условие не сработает"? Если вы имеете ввиду, что не происходит редиректа после первого вызова вашей функции - то это ожидаемая реакция. Отправляя заголовок Location следует завершать работу скрипта с помощью функции die() например, иначе скрипт продолжит выполнение и вы имеете то, что имеете. Почему echo приводит к правильному результату? Вывод текста в браузер сопровождается принудительной отправкой всех готовых заголовков, поэтому происходит редирект.
если в скрипте ,используются элементы которые используют заголовки, то до них ни должно посылаться никакой информации
так пишет ошибку вот как есть сейчас PHP: $mypost="[img].$content_b[0].[/img].\n.$opis.\n.$opis_k.\n.$content_e[0]"; как правильно разставить знаки?
понятно, спасибо большое)))) буду знать) а что бы завершать с функцие die() её просто вписать, или передавать параметры? например PHP: header ("Location: adm.php"); die(); //или header ("Location: adm.php"); die("Конец");
текстовую информацию нужно отделять от переменных кавычками или апострофами, соединять их точкой PHP: $mypost="[img]".$content_b[0]."[/img]\n".$opis."\n".$opis_k."\n".$content_e[0]; как то так, но не уверен что сработает перенос строк: "\n"
это кто тебе пишет? он всё врёт и ты в чём кодишь, в блокноте чтоли? Скачай себе какойнить редактор для PHP, phpDesigner например и вместо \n делай \r\n просто exit;
die и exit (как написал понч - аналоги), это языковые конструкции, которые можно писать и без скобок и без параметров.
Как с помощью php декодировать url encode методом закодированный текст с кириллическими буквами? Обычный urldecode не канает (для кириллицы) Нашел метод на JS Code: function encode() { var obj = document.getElementById('dencoder'); var unencoded = obj.value; obj.value = encodeURIComponent(unencoded); } function decode() { var obj = document.getElementById('dencoder'); var encoded = obj.value; obj.value = decodeURIComponent(encoded.replace(/\+/g, " ")); } </script> Но мне нужен php.. Не Актуально! - решил преобразованием файлов в utf8
Парни помогите пожалуйста. Смотрите. Есть папка, в ней файлы в каждом файле на 2 строке код как вывести по очереди из каждого файла этот код?