Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: переменные сессии не выводятся

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Omi
Отправлено: 06 Апреля, 2010 - 21:24:17
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Здравствуйте, помогите пожалуйста разобраться, что я делаю не так.
Мне надо чтобы выполнялось следущее: посетитель заходит на сайт, заполняет форму, получает код, который может разместить на другом сайте в виде ссылки. Посетитель того другого сайта, при прохождении по этой ссылке видит только заполненные поля именно этим первым. Проблема в том, что я не пойму вот этой строчкой <a href="profession.php?='.session_id().'"> я ведь передаю дальше индификатор,
ведь так? Вроде так - по крайней мере страница в браузере имеет вид profession.php=12dfvhdk.. и так далее. Сессии сохраняются, но почему 1) переменные с той сессии не выводятся 2) теперь посетители, которые попали на сайт не по ссылке не видят форму, а только заголовок.
Код
PHP:
скопировать код в буфер обмена
  1. <?ini_set('display_errors',1); // как ошибку пишет Notice: Undefined variable: row in Z:\home\mysite\www\profession.php on line 10
  2. include_once("header.php");
  3. ?>
  4.  <h2>Памятка</h2>
  5.  <?
  6.     if (session_id())
  7.      {echo  $_SESSION['name']=$row['name']. "<br />"; }
  8.      else
  9.      {   $name=$_POST['name'];
  10.          $text=$_POST['text'];
  11.     if (!$name)
  12.       {
  13.      if (!$text)
  14.       {
  15.  $sql="INSERT INTO `cg` SET
  16. `name`='{$name}',
  17.  `text`='{$text}',
  18. `date`= NOW() ";
  19.    mysql_query($sql);
  20.      session_id();
  21.    $mysid=session_id();
  22.      }}
  23.  $id=mysql_insert_id ();
  24.             if (!$id)
  25.         {?>
  26.         <form method="post" action="profession.php"  enctype="multipart/form-data">
  27.         Ваше имя <br /><input type="text" name="name" value=""><br />         Текст памятки<br /><textarea name="text"></textarea><br />        <input type="submit" value="написать" >
  28.        </form>
  29.             <?}
  30. $sql="SELECT * FROM `cg` WHERE `id`='$id'";  // через '.POST_['id'].' id только что заполнившего форму у меня не выводится
  31. $qwe=mysql_query($sql);
  32. $row=mysql_fetch_array($qwe);
  33.          if($row)
  34.     {echo
  35.   '<html>
  36.  <hr>
  37.   Код для вставки:
  38. <table> <tr><td width="111" class="td3"><td><textarea name="textfor" cols="5" rows="5">
  39.        <a href="profession.php?='.session_id().'">
  40.    <img src="images/proff.gif" border="0"></a></textarea></td>
  41.     </tr>
  42.     </table>
  43.   </html>';
  44.   } } ?>
  45.       <?PHP include_once("footer.php")?>
 
 Top
markus4
Отправлено: 06 Апреля, 2010 - 23:17:33
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




del

(Отредактировано автором: 06 Апреля, 2010 - 23:18:08)



-----
Нет вокруг ничего кроме бесконечного журчания опкодов вселенной...
 
 Top
Тоха
Отправлено: 07 Апреля, 2010 - 00:20:15
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Март 2010  
Откуда: Орел, Россия


Помог: 0 раз(а)




а зачем передавать SESSION ID ? Передавайте те данные, которые надо заполнить!
CODE (html):
скопировать код в буфер обмена
  1. <a href="profession.php?name=$name&text=$text">


И вообще, данный код передает session_id() в пустой переменной! Если уж на то пошло:
PHP:
скопировать код в буфер обмена
  1. <a href="profession.php?{имя переменной}='.session_id().'">
 
 Top
Omi
Отправлено: 07 Апреля, 2010 - 19:38:17
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Эти переменные уже должны быть видны прошедшему по ссылке,но даже если я это делаю, переменные теряются.
После исправления пустой переменной в ссылке теперь SQL запрос не выполняется - пишет что $id не существует. Если переписать запрос как
PHP:
скопировать код в буфер обмена
  1. $sql="SELECT * FROM `cg` WHERE `id` = ".(int)$_POST['id']."";
то получается, что поле id в таблице пустое (echo $sql выдает
SELECT * FROM `cg` WHERE `id` = 0
 
 Top
asql
Отправлено: 10 Апреля, 2010 - 19:35:25
Post Id



Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Было нечего делать......
вот лови (Правда кривоватый.....)
2 файла т.к незнал что у тя в файле конекта mysql
1 - файл конекта (ini.php)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. $mysqladres = "localhost"; //   Адрес базы Mysql
  4. $mysqldb = "form"; //   База Mysql
  5. $mysqllogin = ""; //    Логин
  6. $mysqlpassword = ""; // Пароль
  7.  
  8. $db = mysql_connect("$mysqladres","$mysqllogin","$mysqlpassword");
  9. mysql_select_db("$mysqldb", $db);
  10. mysql_query("SET NAMES 'cp1251'");
  11. ?>
  12.  


2 - сам файл
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include ("ini.php");
  4. if (isset($_GET['com_id'])) {
  5. $id_get = $_GET['com_id'];
  6. $my_com = mysql_query("SELECT * FROM zametka WHERE id='$id_get'",$db);
  7. $com_my = mysql_fetch_array($my_com);
  8. if (isset($com_my)) {
  9. $autor = $com_my['name'];
  10. $comments = $com_my['comments'];
  11. }
  12. else {
  13. $autor = "";
  14. $comments = "";
  15. }
  16. }
  17. else {
  18. if (isset ($_POST['name']) && isset ($_POST['text'])) {
  19. $nameform = $_POST['name'];
  20. $textform = $_POST['text'];
  21. $nameform = trim($nameform);
  22. $textform = trim($textform);
  23. $nameform = htmlspecialchars($nameform);
  24. $textform = htmlspecialchars($textform);
  25. if ($textform != "" && $nameform != "") {
  26. mysql_query("INSERT INTO zametka (id,name,comments) VALUES (NULL,'$nameform','$textform')");
  27. if ($go_mysql = 'true') {
  28. $my_com_ = mysql_query("SELECT id FROM zametka WHERE comments='$textform'",$db);
  29. $com_my_ = mysql_fetch_array($my_com_);
  30. $_id_ = $com_my_['id'];
  31. $sucess =  "Код для вставки: http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."?com_id=".$_id_;
  32. }
  33. }
  34. else { $sucess = "Произошла ошибка!"; }
  35. }
  36. }
  37. ?>
  38.  
  39.         <? echo $sucess; ?>
  40.         <form method="post" action="">
  41.         Ваше имя <br /><input type="text" name="name" value="<? echo "$autor"; ?>"><br />         Текст памятки<br /><textarea name="text"><? echo $comments; ?></textarea><br />        <input type="submit" value="написать" >
  42.        </form>
  43.  

Однако Если твой посетитель перешедший по ссылке попытаетса отредоктировать сообщение (не хрена не получитсо) только нужно перезагрузить страничу (без Get'а), что б напечатать новое.
Ах да и таблица
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE IF NOT EXISTS `zametka` (
  3.   `id` int(11) NOT NULL AUTO_INCREMENT,
  4.   `name` varchar(255) CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL,
  5.   `comments` text CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL,
  6.   PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  8.  

(Отредактировано автором: 10 Апреля, 2010 - 19:44:41)

 
 Top
Omi
Отправлено: 14 Апреля, 2010 - 13:14:57
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




asql Спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB