Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Глобальные переменные объявить
 
 автор: shimi   (01.05.2005 в 22:12)   письмо автору
 
 

есть два файла : addnewsform.php и addnews.php


<html><head><title></title></head>
<body>
<form name="addnews" method="post" action="addnews.php">
   <TABLE cellSpacing=0 cellPadding=0 width=200 border=0>
   <TR>
   <TD align=left width=200 height=20>
  <textarea name="message" cols="50" rows="20"></textarea>
   </TD>
   </TR>
   <TR>
   <TD align=left width=200 height=20>
  <input class=button type=submit value="Добавить">
   </TR>
   </TABLE>
  </form>
</body></html>



<?php
   $hostname 
"localhost";
   
$username "root";
   
$password "password";

   
MYSQL_CONNECT($hostname$username$password) OR DIE("No connection");

   
mysql_select_db("news") or die("No table");

   
$query "INSERT INTO novosti (added, data) VALUES (
   'current date()',
   '
$message'
   )"
;
    if(
mysql_query($query))
  {
    echo 
"<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=news.php'>
          </HEAD>"
;
  }
  else 
links("Ошибка");
?>


вопрос: как в первом коде присвоить текст, введеный в поле переменной &message, а потом это значение перенести во второй скрипт, чтобы оно было добавлено в базу данных?

что-то туплю

   
 
 автор: JIEXA   (01.05.2005 в 22:22)   письмо автору
 
   для: shimi   (01.05.2005 в 22:12)
 

извлекай переменные так $_POST['string']

http://softtime.ru/info/articlephp.php?id_article=13

   
 
 автор: shimi   (01.05.2005 в 22:49)   письмо автору
 
   для: JIEXA   (01.05.2005 в 22:22)
 

угу, это понятно
сделал вот так:

<?php
$msg 
substr($_POST["msg"],0,1024);
$msg htmlspecialchars(stripslashes($msg));
?>
<html><head><title></title></head>
<body>
<form name="addnews" method="post" action="addnews.php">
   <TABLE cellSpacing=0 cellPadding=0 width=200 border=0>
   <TR>
   <TD align=left width=200 height=20>
  <textarea name=new cols=50 rows=20><? echo $msg?></textarea>
   </TD>
   </TR>
   <TR>
   <TD align=left width=200 height=20>
  <input class=button type=submit value="Add">
   </TR>
   </TABLE>
  </form></body></html>


addnews.php

<?php
   $hostname 
"localhost";
   
$username "root";
   
$password "password";
   
$msg=$_POST['msg'];

   
MYSQL_CONNECT($hostname$username$password) OR DIE("No connection");

   
mysql_select_db("news") or die("No table");

   
$query "INSERT INTO allnews (added, data) VALUES (
   'current date()',
   '
$msg'
   )"
;
    if(
mysql_query($query))
  {
    echo 
"<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=../news.php'>
          </HEAD>"
;
  }
  else 
links("oops");
?>


возникли проблемы : говорит, что во 2-ой строке во 2-ом коде Undefined index: msg
ну и сообщение не добавляется (дата проставляется, правда 0000-00-00 всегда, а вместо сообщения толька точка "." =(((

неправильно переменную объявил???

   
 
 автор: JIEXA   (01.05.2005 в 23:18)   письмо автору
 
   для: shimi   (01.05.2005 в 22:49)
 

это надо писать в addnews.php

$msg = substr($_POST["msg"],0,1024); 
$msg = htmlspecialchars(stripslashes($msg)); 

Это:

<textarea name=new cols=50 rows=20><? echo $msg?></textarea> 

замени на:
<textarea name=msg cols=50 rows=20><? echo $msg?></textarea>

   
 
 автор: shimi   (01.05.2005 в 23:29)   письмо автору
 
   для: JIEXA   (01.05.2005 в 23:18)
 

Отлично! Заработало! Все-таки, когда начинаешь, не во всем ясность, делаешь кучу простейших и тупых ошибок =).

Правда, возник вопрос. При загрузке addnewsform.php в текстарее вот такой нотис висит:

<br />
<b>Notice</b>:  Undefined variable: msg in <b>c:\Testing\addnewsform.php</b> on line <b>11</b><br />


В пхп же не нужно объявлять переменные?

   
 
 автор: JIEXA   (01.05.2005 в 23:37)   письмо автору
 
   для: shimi   (01.05.2005 в 23:29)
 


<textarea name=msg cols=50 rows=20><? echo $msg?></textarea>

замени на

<textarea name=msg cols=50 rows=20></textarea>

   
 
 автор: shimi   (01.05.2005 в 23:51)   письмо автору
 
   для: JIEXA   (01.05.2005 в 23:37)
 

спасибо огромное! этот форум лучший, бесспорно!

   
 
 автор: cheops   (02.05.2005 в 01:18)   письмо автору
 
   для: shimi   (01.05.2005 в 23:29)
 

Вас замечания задолбят :))) - это не ошибка а просто совет по кодированию, на реальных хостингах - они не выводятся так как там всегда стоит более низкий уровень тревожности. Вы так же можете настроить более низкий уровень тревожности как это описывается в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=13. Для этого необходимо в конфигурационном файле php.ini установить значение директивы error_reporting равным
error_reporting  =  E_ALL & ~E_NOTICE

Кроме того, вы можете упрвлять уровнем тревожности при помощи функции Error_Reporting()
<?php
Error_Reporting
(E_ALL & ~E_NOTICE); 
?>

помещая её в начале скрипта.

   
 
 автор: shimi   (02.05.2005 в 03:47)   письмо автору
 
   для: cheops   (02.05.2005 в 01:18)
 

принял к сведению, спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования