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
Форумы портала PHP.SU :: Версия для печати :: Передача значения переменной на другую страницу
Форумы портала PHP.SU » » Вопросы новичков » Передача значения переменной на другую страницу

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

1. Alessanderrr - 10 Мая, 2015 - 14:40:19 - перейти к сообщению
Доброго времени суток, товарищи!
Я совсем зеленый новичок, и у вас, думаю, теперь буду частый гость)
Помогите, пожалуйста, со следующей бедой:
Имеется недоделанная страница с анонсами постов (пока что выводится инфа целиком), в конце каждого анонса есть ссылка read more.
По моей мысли, она перенаправляет на другую страницу, которая из базы подгружает по id поста остальную инфу. И тут я столкнулся с бедой: я хоть убей не могу сообразить, как передать значение id поста.
Имею следующее:
index.php:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once 'dbcfg.php';
  3.  
  4. $db = mysql_connect($db_host, $db_user, $db_pass);
  5. mysql_select_db($db_name, $db);
  6.  
  7. $result=mysql_query ("SELECT post_header, post_body, post_date FROM post");
  8. $postid=mysql_query ("SELECT post_id FROM post");
  9. $myrow=mysql_fetch_array ($result);
  10.  
  11. do
  12. {
  13. $mypostid=mysql_fetch_array ($postid);
  14.  
  15. <p class='line2'></p>
  16. <h3>%s</h3>
  17. <p>%s</p>
  18. <p>%s</p>
  19. <p><a href='page.php'>Read more...</a></p>
  20.  
  21. <br /><br />
  22. ",$myrow["post_header"],$myrow["post_body"],$myrow["post_date"]);
  23.  
  24. }
  25. while ($myrow=mysql_fetch_array($result));
  26.  
  27.  
  28. ?>


page.php
сейчас пустая, в нее нужно передать значение $mypostid. Весь день потратил на поиски информации... Думал каким-то образом передать через $_GET или $_POST, долго мучился, но недавно наткнулся на каком-то форуме на сообщение, что эти массивы действуют только в рамках одного скрипта, это объяснило, почему у меня page.php постоянно пустая оказывается...
Часто на форумах находил фразу "изучай сессии". Пытался подключить сессии, выдает ошибку, и все равно нифига не работает. Помогите, пожалуйста Белый флаг
2. exlant - 10 Мая, 2015 - 14:55:48 - перейти к сообщению
Вы не поняли как работают $_GET u $_POST,

Если хотите передавать параметры через ссылку, то вот вам простой пример:

index.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="page.php?id=1">Page 1</a><br>
  3. <a href="page.php?id=2">Page 2</a><br>
  4. <a href="page.php?id=3">Page 3</a><br>
  5.  

page.php
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = $_GET['id'];
  3. echo 'Congratulations, you moved on page '.$id.')';
  4.  
3. Alessanderrr - 10 Мая, 2015 - 14:59:03 - перейти к сообщению
exlant пишет:
Вы не поняли как работают $_GET u $_POST,

Если хотите передавать параметры через ссылку, то вот вам простой пример:

index.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="page.php?id=1">Page 1</a><br>
  3. <a href="page.php?id=2">Page 2</a><br>
  4. <a href="page.php?id=3">Page 3</a><br>
  5.  

page.php
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = $_GET['id'];
  3. echo 'Congratulations, you moved on page '.$id.')';
  4.  

Таки, с этими простыми примерами я понял, но можно ли передать туда не конкретное значение, а переменную?
скажем, id у меня может принимать значение от до бесконечности, в зависимости от того, на какую ссылку нажимаю
касательно того , что я не понял, как они работают - вполне таки не исключено, хотя имеющиеся примеры я вроде разобрал
4. exlant - 10 Мая, 2015 - 15:12:21 - перейти к сообщению
Цитата:
Таки, с этими простыми примерами я понял, но можно ли передать туда не конкретное значение, а переменную?

в вашем случаи в этом нет надобности!
Цитата:
скажем, id у меня может принимать значение от до бесконечности, в зависимости от того, на какую ссылку нажимаю


PHP:
скопировать код в буфер обмена
  1. require_once 'dbcfg.php';
  2.  
  3. $db = mysql_connect($db_host, $db_user, $db_pass);
  4. mysql_select_db($db_name, $db);
  5.  
  6. $result=mysql_query ("SELECT post_header, post_body, post_date, post_id  FROM post");
  7.  
  8.  
  9. while ($myrow=mysql_fetch_array($result));
  10. {
  11.     echo '<p class="line2"></p>
  12.        <h3>'.$myrow['post_header'].'</h3>
  13.        <p>'.$myrow['post_body'].'</p>
  14.        <p>'.$myrow['post_date'].'</p>
  15.        <p><a href="page.php?id='.$myrow['post_id'].'">Read more...</a></p>
  16.        <br /><br />';
  17. }



Цитата:
касательно того , что я не понял, как они работают - вполне таки не исключено, хотя имеющиеся примеры я вроде разобрал

не изучайте php по попову, да вообще ничего по нему не изучайте, он мало того что даже самые основы дает в каком то дико перевернутом виде! Так еще и учит именно так, как делать не надо!
5. Alessanderrr - 10 Мая, 2015 - 15:19:08 - перейти к сообщению
exlant пишет:

Цитата:
касательно того , что я не понял, как они работают - вполне таки не исключено, хотя имеющиеся примеры я вроде разобрал

не изучайте php по попову, да вообще ничего по нему не изучайте, он мало того что даже самые основы дает в каком то дико перевернутом виде! Так еще и учит именно так, как делать не надо!

Ни коим образом, никакие книжки и онлайн-курсы не читаю, есть задача, и я пытаюсь ее реализовать, с помощью php.net, форумов, ну и иногда каких-либо статей, но зачастую этого недостаточно бывает.. Общие случаи приводятся, но иногда нужны частности.. Поэтому я тут Улыбка

За код огромнейшее спасибо, это как раз то, чего у меня не получилось нагуглить, но я предполагал что как-то так должна быть возможность делать! Скоро попробую)
6. exlant - 10 Мая, 2015 - 15:23:18 - перейти к сообщению
а кто ж вас вот этому научил?
PHP:
скопировать код в буфер обмена
  1.  
  2. $myrow=mysql_fetch_array ($result);
  3.  
  4. do
  5. {
  6.  
  7.  
  8. ",$myrow["post_header"],$myrow["post_body"],$myrow["post_date"]);
  9.  
  10. }
  11. while ($myrow=mysql_fetch_array($result));
  12.  

это чисто поповская фишка, которая показывает полную его некомпетентность в этой сфере деятельности!
7. Alessanderrr - 10 Мая, 2015 - 15:25:45 - перейти к сообщению
exlant пишет:
а кто ж вас вот этому научил?
PHP:
скопировать код в буфер обмена
  1.  
  2. $myrow=mysql_fetch_array ($result);
  3.  
  4. do
  5. {
  6.  
  7.  
  8. ",$myrow["post_header"],$myrow["post_body"],$myrow["post_date"]);
  9.  
  10. }
  11. while ($myrow=mysql_fetch_array($result));
  12.  

это чисто поповская фишка, которая показывает полную его некомпетентность в этой сфере деятельности!


На каком-то форуме такой же чайник как я вопрос задавал, у него чета не получалось, я оттуда и стащил, посмотрев что работает и подпилив под себя...
А как надо правильно? научите, пожалуйста Растерялся
8. exlant - 10 Мая, 2015 - 15:29:28 - перейти к сообщению
Alessanderrr ну так я привел ваш скрипт, к более нормальному, обычному виду Радость
хотя до нормального ему еще очень далеко!

и тогда еще одно, библиотека mysql_* уже давно устарела, а в следующей версии php будет удалена http://php.net/manual/ru/functio...ysql-connect.php , так что не тратьте время на ее изучения, приступайте сразу к mysqli или pdo
9. Alessanderrr - 10 Мая, 2015 - 15:41:21 - перейти к сообщению
exlant пишет:
Alessanderrr ну так я привел ваш скрипт, к более нормальному, обычному виду Радость
хотя до нормального ему еще очень далеко!

и тогда еще одно, библиотека mysql_* уже давно устарела, а в следующей версии php будет удалена http://php.net/manual/ru/functio...ysql-connect.php , так что не тратьте время на ее изучения, приступайте сразу к mysqli или pdo


я начинал изначально работать именно с mysqli, но у меня тогда появились проблемы с подключением к базе, и я все поправил на mysql, тк какие-то функции я на mysql нашел, а на mysqli - нет,а вперемешку оно ругалось друг на друга Радость но вроде потом разобрался, а то что было изначально - не поправил, исправлюсь!

А до нормального далеко - то да, но я буду стремиться именно к "Нормальному"! Улыбка
Спасибо большое)
(Добавление)
exlant пишет:
Alessanderrr ну так я привел ваш скрипт, к более нормальному, обычному виду Радость
хотя до нормального ему еще очень далеко!

Чета теперь вообще нифига не работает Растерялся
10. Alessanderrr - 10 Мая, 2015 - 21:09:05 - перейти к сообщению
Alessanderrr пишет:

Чета теперь вообще нифига не работает Растерялся

Потратил весь вечер на поиски, почему у меня вообще всё работать перестало... Долго разглядывал код, методом научного тыка правил, читал мануал по всем функциям что там есть... Нашёл.
В конце строчки while стоял ";" Радость
Тяжелая это работа, быть нубом Растерялся
11. dcc0 - 10 Мая, 2015 - 22:20:58 - перейти к сообщению
error_reporting(E_ALL);
И смотреть на какой строчке ошибка, и вечер тратить не придется

И писать скрипты в редакторе, с подсветкой синтаксиса и номерами строк
12. Alessanderrr - 11 Мая, 2015 - 06:35:55 - перейти к сообщению
dcc0 пишет:
error_reporting(E_ALL);
И смотреть на какой строчке ошибка, и вечер тратить не придется

И писать скрипты в редакторе, с подсветкой синтаксиса и номерами строк

Дак ведь ошибки не было, он просто пустое значение возвращал из-за этого...
А пишу в Notepad++, он светит

 

Powered by ExBB FM 1.0 RC1