Здраствуйте. Создаю форму заказа и столкнулся с проблемой, при обработке session. Так, как форма растянулась не на одну страницу, приходится записывать данные в массив $_SESSION . При попытке вывести данные из сесси, получаю белый лист, получаю белый листик с фразой дебага. Одна страница из формы: PHP: <?php session_start(); $_SESSION['uid'] = md5(time()); include("config.php"); include("process.php"); // вход по IP include("session_main.php"); // vars php?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <link href="css/default.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <div id="header"> <div id="logo"> </div> <div id="menu"> <ul> <li class="current_page_item"><a href="#">ты <? echo "$login"; ?></a></li> </ul> </div> </div> <div id="page"> <div id="content"> <div class="post"> <h1 class="title">Text</h1> </div> <div class="post"> <form action="last1.php" method="POST"> <table border="0"> <tr><td>Bedrijfsnaam:</td><td> <input type="text" name="bedrijfsnaam" size="20" ><br><tr><td> </br> </center> </table> <br> <br> <INPUT TYPE="reset" VALUE="Reset"> <INPUT TYPE="button" value="<-" onClick="document.location.href='login.php?logout=yes';"> <INPUT TYPE="button" VALUE="->" onClick="document.location.href='incasso_formulier.php';"> </form> </div> </div> </div> </div> <div style="clear: both;"> </div> </div> <div id="footer"> text </div> </body> </html> vars: PHP: <?php session_start(); $_SESSION["bedrijfsnaam"] = $bedrijfsnaam; ?> Ну и сама страница, где необходимо вывести введённую информацию: PHP: <?php session_start(); $_SESSION['uid'] = md5(time()); include("config.php"); $login=$ses->ar_prisiloginta(); $incasso_formulier = "incasso_formulier.php"; if ($ses->ar_prisiloginta()=='') { header("location: save.php"); exit; } include("process.php"); include("session_main.php"); echo $bedrijfsnaam or die("не работает"); php?> Пробывал с разных браузеров, ничего не получается...Получаю только "не работает". В чём проблема, подскажите, пожалуйста.
Almere При попытке вывести данные из сесси, получаю белый листик с фразой дебага и что за фраза? "не работает"?
igordata Спасибо, но теперь я получил очень большой и страшный код из бд. Код (Text): array(50) { ["dle_user_id"]=> string(1) "1" ["dle_password"]=> string(32) "deafaabc26e011e06e155c6981b7d907" ["mobile_disable"]=> int(0) ["mobile_enable"]=> int(0) ["member_lasttime"]=> string(10) "1300693082" ["referrer"]=> string(1) "/" ["uid"]=> string(32) "56aa7c8e3a644d1d7e82c3ef251ac772" ["bedrijfsnaam"]=> NULL ["kvk_nummer"]=> NULL ["adres"]=> NULL ["huisnummer"]=> NULL ["bedrijfsnaam_dsl"]=> NULL ["huisnummer_dsl"]=> NULL ["postcode_dsl"]=> NULL ["plaats_dsl"]=> NULL ["telefoonnummer_dsl"]=> NULL ["faxnummer_dsl"]=> NULL ["contactpersoon_dsl"]=> NULL ["verbinding"]=> NULL ["keuze_ipin"]=> NULL ["telefoonnummer_linesharing"]=> NULL ["modem"]=> NULL ["huidigip"]=> NULL ["redenip"]=> NULL ["nieuwip"]=> NULL ["regionalenummers"]=> NULL ["antaalregionalenummers"]=> NULL ["antaaltientallen"]=> NULL ["antaalhonderdtallen"]=> NULL ["aantalkanalenvoiceconnect"]=> NULL ["typecentralevoiceconnect"]=> NULL ["negenoftien"]=> NULL ["antaal_gebruikers_managedivoice"]=> NULL ["managedivoiceaanvraagformulier"]=> NULL ["aastra_6731i"]=> NULL ["aastra_6755i"]=> NULL ["aastra_6753i"]=> NULL ["snom_m3"]=> NULL ["aastra_67560m"]=> NULL ["postcode"]=> NULL ["plaats"]=> NULL ["telefoonnummer"]=> NULL ["faxnummer"]=> NULL ["contactpersoon"]=> NULL ["gsmnummercontactpersoon"]=> NULL ["emailadresvancontactpersoon"]=> NULL ["contactpersoonfacturatie"]=> NULL ["btelefoonnummercontactpersoonfacturatie"]=> NULL ["emailadresfacturatie"]=> NULL ["aantalgebruikersivoice"]=> NULL }
["bedrijfsnaam"]=> NULL в сессии она есть. она пустая. Значит ты такую пустую ее и пихаешь. вывод, в vars она не определена. и на момент пихания в сессию никаких значений не содержит.
igordata Спасибо, перепроверил всё. Ошибки не удалось найти. Вот мои вары: PHP: <?php session_start(); $_SESSION['bedrijfsnaam'] = $bedrijfsnaam; ?> Вы не подскажите, что тут не так? Вроде примитивно...
Almere тут не ошибки. Пустая она =) Переменная $bedrijfsnaam не сожержит в себе никаких значений. С тем же успехом вы могли бы написать $_SESSION['bedrijfsnaam'] = $opfirgkmkljklfjrkfjrkfnjkgheklgjrekjerklfjkrjflkrjfklrjfklr; и ждать, что что-то осмысленное произойдет. думайте, чего именно вы хотите. вспоминайте, ищите. Либо у вас переменная не та, за кого себя выдает, ибо вы обращаетесь к ней до того как она родилась и ей было присвоено какое либо значение. Либо у вас такая переменная есть, вы в этом уверны, где-то ранее использовалась, и значение ей присваивается, и все должно быть хорошо - то ищите, где и почему она обнуляется либо разбирайтесь с областью видимости - возможно в этом файле та самая другая ее тезка просто не видна. проверим сам факт работы. Замените эти строки на три строки таких: PHP: <?php session_start(); $bedrijfsnaam = 'hi there!'; $_SESSION['bedrijfsnaam'] = $bedrijfsnaam; ?>
Заменил строчки, и она начала со мной общаться PHP: ["bedrijfsnaam"]=> string(9) "hi there!" Поменял назад , к виду : PHP: <?php session_start(); $_SESSION['bedrijfsnaam'] = $bedrijfsnaam; и опять "баян"...Возможно тут ошибка? HTML: <?php session_start(); $_SESSION['uid'] = md5(time()); include("vars.php"); // подключил файлик с варами include("config.php"); // подключил конфиг системы $login=$ses->ar_prisiloginta(); // проверка на логин юзера $incasso_formulier = "incasso_formulier.php"; if ($ses->ar_prisiloginta()=='') { header("location: save.php"); // если не залогинен, отправляем далеко exit; } include("process.php"); // ядро системы php?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <link href="css/default.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <div id="header"> <div id="logo"> </div> <div id="menu"> <ul> <li class="current_page_item"><a href="#">U bent <? echo "$login"; ?></a></li> // отобразил имя юзера </ul> </div> </div> <div id="page"> <div id="content"> <div class="post"> <h1 class="title">Bedrijfs gegevens</h1> </div> <div class="post"> <form action="last1.php" method="POST"> <table border="0"> <tr><td>Bedrijfsnaam:</td><td> <input type="text" name="bedrijfsnaam" size="20" ><br><tr><td> <tr><td>KvK nummer: </td><td><input type="text" name="kvknummer" size="20" ><br><tr><td> <tr><td>Adres:</td><td> <input type="text" name="adres" size="20" ><br><tr><td> <tr><td>Huisnummer:</td><td> <input type="text" name="huisnummer" size="20" ><br><tr><td> <tr><td>Postcode:</td><td> <input type="text" name="postcode" size="20" ><br><tr><td> <tr><td>Plaats:</td><td> <input type="text" name="plaats" size="20" ><br><tr><td> <tr><td>Telefoonnummer:</td><td> <input type="text" name="telefoonnummer" size="20" ><br><tr><td> <tr><td>Faxnummer:</td><td> <input type="text" name="faxnummer" size="20" ><br><tr><td> <tr><td>Contactpersoon:</td><td> <input type="text" name="contactpersoon" size="20" ><br><tr><td> <tr><td>GSM nummer contactpersoon:</td><td> <input type="text" name="gsmnummercontactpersoon" size="20" ><br><tr><td> <tr><td>E-mail adres van contactpersoon: </td><td><input type="text" name="emailadresvancontactpersoon" size="20" ><br><tr><td> <tr><td>Contact persoon Facturatie:</td><td> <input type="text" name="contactpersoonfacturatie" size="20" ><br><tr><td> <tr><td>Telefoonnummer Contact persoon Facturatie:</td><td> <input type="text" name="telefoonnummercontactpersoonfacturatie" size="20" ><br><tr><td> <tr><td>E-mail adres facturatie:</td><td> <input type="text" name="emailadresfacturatie" size="20" ><br><tr><td> </br> <tr><td><font color="red"><u>Let op! De facturen zullen per E-Mail verstuurd worden naar het adres dat u bij "E-mail adres facturatie" heeft in gevuld.</u></font><br><br><tr><td> </center> </table> <br> <br> <INPUT TYPE="reset" VALUE="Reset"> <INPUT TYPE="button" value="Vorige" onClick="document.location.href='login.php?logout=yes';"> <INPUT TYPE="button" VALUE="Volgende" onClick="document.location.href='last1.php';"> </form> </div> </div> </div> </div> <div style="clear: both;"> </div> </div> <div id="footer"> </div> </body> </html> Сессию логина юзера я сохраняю в DB , при выходе, удаляю его. Может это и является причиной?
Almere кроме этой строки о которой мы говорим, упоминаний об этой переменной нигде нет =) поэтому вам лично нужно определиться, что вы хотите получить. Если вы считаете что переменная зовется правильно - вы ей значение и присваивайте. Если в имени переменной есть опечатка, то мои знания нидералндского языка не позволяю это обнаружить =) Ваши - возможно.
igordata А то что он пытается пользоваться глобальными переменнами незаметно? )) Almere http://phpfaq.ru/globals В вашем случае: PHP: <?php $bedrijfsnaam = isset ($_POST['bedrijfsnaam']) ? $_POST['bedrijfsnaam'] : null; // если в будущем будем пихать её в базу, не забываем про безопасность ?> http://php.net/trim http://php.net/htmlspecialchars http://php.net/mysql_real_escape_string
Elkaz не заметно. я родился позже чем их запретили, мне такое даже в голову не пришло это конечно все объясняет Almere если не сработает с пост, можно попробовать с гет =) PHP: <?php $bedrijfsnaam = isset ($_GET['bedrijfsnaam']) ? $_GET['bedrijfsnaam'] : null; // если в будущем будем пихать её в базу, не забываем про безопасность ?> хотя я для себя разработал такую функу, когда решил, что пара лишних тактов моему процессору не помеха PHP: <? // берет искомый элемент из массивов POST или GET и приводит его к String указанной длинны static function strget($str='', $length = 255) { if (isset($_POST[$str])) { return trim(substr(trim($_POST[$str]), 0, $length)); } if (isset($_GET[$str])) { return trim(substr(trim($_GET[$str]), 0, $length)); } return false; }
igordata Elkaz Спасибо Вам за помощь, но мне ничего не помогло. Без понятия, что я натворил, но получаю один и тот-же ответ... PHP: array(51) { ["mobile_disable"]=> int(0) ["mobile_enable"]=> int(0) ["dle_user_id"]=> string(1) "1" ["referrer"]=> string(1) "/" ["member_lasttime"]=> string(10) "1300778919" ["uid"]=> string(32) "8879927d1b5329daa27d57f47d59b97b" ["bedrijfsnaam"]=> NULL ["kvk_nummer"]=> NULL ["adres"]=> NULL ["huisnummer"]=> NULL ["bedrijfsnaam_dsl"]=> NULL ["huisnummer_dsl"]=> NULL ["postcode_dsl"]=> NULL ["plaats_dsl"]=> NULL ["telefoonnummer_dsl"]=> NULL ["faxnummer_dsl"]=> NULL ["contactpersoon_dsl"]=> NULL ["verbinding"]=> NULL ["keuze_ipin"]=> NULL ["telefoonnummer_linesharing"]=> NULL ["modem"]=> NULL ["huidigip"]=> NULL ["redenip"]=> NULL ["nieuwip"]=> NULL ["regionalenummers"]=> NULL ["antaalregionalenummers"]=> NULL ["antaaltientallen"]=> NULL ["antaalhonderdtallen"]=> NULL ["aantalkanalenvoiceconnect"]=> NULL ["typecentralevoiceconnect"]=> NULL ["negenoftien"]=> NULL ["antaal_gebruikers_managedivoice"]=> NULL ["managedivoiceaanvraagformulier"]=> NULL ["aastra_6731i"]=> NULL ["aastra_6755i"]=> NULL ["aastra_6753i"]=> NULL ["snom_m3"]=> NULL ["aastra_67560m"]=> NULL ["postcode"]=> NULL ["plaats"]=> NULL ["telefoonnummer"]=> NULL ["faxnummer"]=> NULL ["contactpersoon"]=> NULL ["gsmnummercontactpersoon"]=> NULL ["emailadresvancontactpersoon"]=> NULL ["contactpersoonfacturatie"]=> NULL ["btelefoonnummercontactpersoonfacturatie"]=> NULL ["emailadresfacturatie"]=> NULL ["aantalgebruikersivoice"]=> NULL ["sec_code_session"]=> int(0) }
вобще мне кажется, самое время позвать супергероев. [vs]man! we need you! тока это чутка денег стоить будет
Уже позвал, читайте лс Это форма, где заполняю поле: PHP: <?php session_start(); $_SESSION['uid'] = md5(time()); include("vars.php");// вары include("config.php"); //подключил конфиг $login=$ses->ar_prisiloginta(); // определяем вывод ника юзера $incasso_formulier = "incasso_formulier.php"; if ($ses->ar_prisiloginta()=='') // проверка авторизации юзера { header("location: save.php"); // если не залогинен, отправляем подальше. exit; } include("process.php"); php?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <link href="css/default.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <div id="header"> <div id="logo"> </div> <div id="menu"> <ul> <li class="current_page_item"><a href="#">U bent <? echo "$login"; ?></a></li> //вывел ник юзера </ul> </div> </div> <div id="page"> <div id="content"> <div class="post"> <h1 class="title">text</h1> </div> <div class="post"> <form action="last1.php" method="POST"> <table border="0"> <tr><td>Bedrijfsnaam:</td><td> <input type="text" name="bedrijfsnaam" size="20" ><br><tr><td> <tr><td>KvK nummer: </td><td><input type="text" name="kvknummer" size="20" ><br><tr><td> <tr><td>Adres:</td><td> <input type="text" name="adres" size="20" ><br><tr><td> <tr><td>Huisnummer:</td><td> <input type="text" name="huisnummer" size="20" ><br><tr><td> <tr><td>Postcode:</td><td> <input type="text" name="postcode" size="20" ><br><tr><td> <tr><td>Plaats:</td><td> <input type="text" name="plaats" size="20" ><br><tr><td> <tr><td>Telefoonnummer:</td><td> <input type="text" name="telefoonnummer" size="20" ><br><tr><td> <tr><td>Faxnummer:</td><td> <input type="text" name="faxnummer" size="20" ><br><tr><td> <tr><td>Contactpersoon:</td><td> <input type="text" name="contactpersoon" size="20" ><br><tr><td> <tr><td>GSM nummer contactpersoon:</td><td> <input type="text" name="gsmnummercontactpersoon" size="20" ><br><tr><td> <tr><td>E-mail adres van contactpersoon: </td><td><input type="text" name="emailadresvancontactpersoon" size="20" ><br><tr><td> <tr><td>Contact persoon Facturatie:</td><td> <input type="text" name="contactpersoonfacturatie" size="20" ><br><tr><td> <tr><td>Telefoonnummer Contact persoon Facturatie:</td><td> <input type="text" name="telefoonnummercontactpersoonfacturatie" size="20" ><br><tr><td> <tr><td>E-mail adres facturatie:</td><td> <input type="text" name="emailadresfacturatie" size="20" ><br><tr><td> </br><br> </center> </table> <br> <br> <INPUT TYPE="reset" VALUE="Reset"> <INPUT TYPE="button" value="Vorige" onClick="document.location.href='login.php?logout=yes';"> <INPUT TYPE="button" VALUE="Volgende" onClick="document.location.href='last1.php';"> </form> </div> </div> </div> </div> <div style="clear: both;"> </div> </div> <div id="footer"> text </div> </body> </html> Вары: PHP: <?php session_start(); $_SESSION['bedrijfsnaam'] = $bedrijfsnaam; php?> Страница, где должны выйти данные из сессии: PHP: <?php session_start(); $_SESSION['uid'] = md5(time()); include("config.php");// конфиг $login=$ses->ar_prisiloginta(); $incasso_formulier = "incasso_formulier.php"; if ($ses->ar_prisiloginta()=='')// проверка авторизации юзера { header("location: save.php");// если не залогинен, отправляем подальше exit; } include("process.php");// ядро include("vars.php");// подключил вары var_dump ($_SESSION); // после удаления этой строки, получал просто пустую страницу. $bedrijfsnaam = isset ($_GET['bedrijfsnaam']) ? $_GET['bedrijfsnaam'] : null;// пробывал так $bedrijfsnaam = isset ($_POST['bedrijfsnaam']) ? $_POST['bedrijfsnaam'] : null; // пробывал и так php?>