Выход один - вначале работать с куками, потом уже выводить текст. Кусок кода, который ты дал, правильный, т.к. там информация не выводится. Я не думаю, что проблема в аяксе. Просто ставить куки надо в самом начале кода, например: Code: <?php if($_POST['user']!=null && $_POST['password']!=null) { $user = $_POST['user']; $password = $_POST['password']; setcookie('pwd', md5($password)); setcookie('nick', $user); } .......... ?>
в файле к которому данные передаются аяксом ничего раньше установки куков не выводится, только после.. пример: обработчик.php PHP: <?php if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { $pwd =$_POST['pwd']; setcookie('pwd', $pwd); $name = $_POST['name']; setcookie('name', $name); echo 'ok'; }else{ echo 'пнх'; } ?> index.php PHP: <script type="text/javascript" src="http://sa-mp.ws/js/jquery.js"></script> <script type="text/javascript" src="http://sa-mp.ws/js/jquery.form.js"></script> <script type="text/javascript"> $(document).ready(function(){ var options = { target: "#output", beforeSubmit: showRequest, timeout: 3000 }; $('#form').submit(function() { $(this).ajaxSubmit(options); return false; }); }); function showRequest(formData, jqForm, options) { var queryString = $.param(formData); return true; } </script> </head> <body> <div id="output"></div> <form id="form" action="обработчик.php" method="post"> <input name="name" type="text" value="name"><br> <input name="pwd" type="text" value="pwd"><br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
PHP: <?php $w = rand(0,3); if($w == 0) echo 'Камень'; else if($w == 1) echo 'Ножницы'; else if($2 == 2) echo 'Бумага'; ?>
Добрый вечер Есть такая таблица PHP: CREATE TABLE `transitions` ( `id` int(10) unsigned NOT NULL auto_increment, `idsite` int(11) NOT NULL default '', `url` varchar(100) NOT NULL default '', `out` int(5) unsigned default '0', `all_out` int(8) unsigned default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; как определить существует ли у idsite = 2 в колонке url например запись google.ru?
Pashkela а можно чтобы человек мог выбирать что-нибудь, а потом рандомно и сообщение "Вы победил, ропиграли или ничья)???
PHP: <form action = '<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>' method = 'post'> <h2>Выберите значение</h2></br> <font color = 'blue'>Камень</font> <input type = 'checkbox' name = 'check1'></br> <font color = 'blue'>Ножницы</font> <input type = 'checkbox' name = 'check2'></br> <font color = 'blue'>Бумага</font> <input type = 'checkbox' name = 'check3'></br></br> <input type = 'submit' value = 'Поехали'></br> <?php if (isset ($_POST['check1']) || isset ($_POST['check2']) || isset ($_POST['check3'])) { $array = array('Вы выиграли!','Вы проиграли!','Ничья!'); echo $array[array_rand($array)]; } ?>
imajo.ati, так посмотри что делает (string) и какие входные параметры session_id, будет полезнее, чем узнать да или нет.
PHP: $a = file('text.txt'); unset($a[0]); $a[10] = 'new string'; file_put_contents('text.txt', implode("\n", $a));
Короче никак не могу найти ответ на вопрос. Решил задать как при приеме post и get запросов в обработчике исключить возможность пхп инъекции просто где-то слышал что в htmlspecialchars есть какая-та дырочка.
вообще не очень понятно что ты хочеш и зачем там htmlspecialchars, может ты xss имел ввиду ? один из примеров защиты от php inj PHP: $page = $_GET['page']; switch ($page) { case "1.html": include("1.html"); break; case "2.html": include("2.html"); break; case "3.html": include("3.html"); break; } еще как пример можно вырезать опасные символы через str_replace() . ---------------------------------- Как можно набить массив по циклу, т.е. чтобы после выполнения оказалось не только последнее значение как например в таком случае PHP: for ($i=0;$i<=5;$i++) { $a = array($i); } var_dump($a); а полностью со значениями 1,2,3,4,5.
До смешного, но не получается реализовать перебор всех дат рождения. Хотел чтоб перебирались, допустим, с 01.01.1970 до 01.01.2010, но в итоге получается или только месяцы или только года. Помогите пожалуйста.