26

Re: авторизация

спасибо!все работает

27

Re: авторизация

Здравствуйте! помогите пожалуйста.у меня возникла проблема, суть ее мне понятна, но вот как обойти ее не знаю..вот мой код:

echo '<form action="" method=post><table align=center><tr><td>Мероприятие:</td><td><input type="text" name="nazv1" size=40></td></tr>';
echo '<tr><td><script src="javascript/calendar.js"></script>Дата мероприятия:</td><td>
<input type="text" name="data1" value="" onfocus="this.select();lcs(this)" onclick="event.cancelBubble=true;this.select();lcs(this)"></td></tr>';
echo '<tr><td>Место</td><td><input type="text" name="mesto1" size=40></td></tr>';
echo '<tr><td>Содержание мероприятия</td><td><textarea placeholder="введите текст" cols="45" rows="5" name="text1" wrap="off"></textarea></td></tr>';
echo '<tr></tr>';
echo '</table></form>';
echo '<table align=center><tr><td >Загрузить изображение:</td><td><form method="POST" enctype="multipart/form-data" action="">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000" />
<input type="file" name="uploadFile" id="file" />
<input type="submit" name="upload" value="Добавить мероприятие" /></form></td></tr></table>';
echo '<FORM>
    <input TYPE="button" VALUE="Вернуться к выбору действия" ONCLICK="HomeButton1()"> <script>
function HomeButton1()
{
location.href="vibor.php";
}
</script>
</FORM>';
echo '';
//print_r($_FILES);
  
  if(isset($_POST['upload'])){
     $nazv=$_POST['nazv1'];
  $data=$_POST['data1'];
  $mesto=$_POST['mesto1'];
  $text=$_POST['text1'];
      $folder = 'file/';
  //$uploadedFile = $folder.basename($_FILES['uploadFile']['name']);
  // Получаем расширение файла
$file_ext =  strtolower(strrchr($_FILES['uploadFile']['name'],'.'));
// Генерируем случайное число
$file_name = uniqid(rand(10000,99999));
// Формируем путь на сервере
$put_file=$file_name.$file_ext;
$uploadedFile  = $folder.$put_file;
if(empty($_POST["nazv"]))
{
echo 'Вы не ввели название мероприятия!';
}
elseif (empty($_POST['data1']))
{
echo 'Вы не ввели дату';
}
elseif(empty($_POST['mesto1']))
{
echo 'Вы не ввели место проведения мероприятия';
}
elseif(empty($_POST['text1']))
{
echo 'Вы не ввели содержание мероприятия';
}
else{
  if(is_uploaded_file($_FILES['uploadFile']['tmp_name'])){
  if(move_uploaded_file($_FILES['uploadFile']['tmp_name'],
    $uploadedFile))
  {
    $sql_dobav_merop="insert into dela_gr(Nazv, data, mesto,soderz,file) values ('$nazv', '$data', '$mesto', '$text','$put_file')";exit ($sql_dobav_merop);
  $res_dobav_mero=mysql_query($sql_dobav_merop);
  if (!$res_dobav_mero){echo 'Ошибка'.mysql_error();}
         //echo 'Файл загружен';
  }
  else
  {
     echo 'Во  время загрузки файла произошла ошибка';
  }
  
  }
  else
  {
   echo 'Файл не  загружен';
  }
   }
   }

в этом коде у меня происходит добавление мероприятий по группе в базу данных ,все бы было неплохо, но у меня несколько форм, и это, на мой взгляд, и является причиной неудач при добавлении, а точнее у меня не берутся значения текстовых полей в переменные, пишет, что они пустые, но файл добавляется...если объединяю в одну форму-текстовые поля видит, но файл не добавляет..как можно решить эту проблему?

28

Re: авторизация

VitoS сказал:

у меня несколько форм

Со страницы можно отослать данные только из одной формы, поэтому вставьте все внутрь одной формы.

29

Re: авторизация

спасибо, все, нашел в чем была проблема раньше

30

Re: авторизация

подскажите пожалуйста еще одну вещь...я формирую таблицу со списком мероприятий:

$dela = 'SELECT distinct NomGrup,Nazv,del_grupp.Id_dela
from grupps,dela_gr,del_grupp WHERE grupps.Id_grup=del_grupp.Id_grup and del_grupp.Id_dela=dela_gr.Id_dela and NomGrup = ' . $_REQUEST['NomGrup1'];
$zapr1=mysql_query($dela);
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
//if ($delo='Поход в детский дом'){echo "<tr>";
echo "<td width='300'><a href="meropr.php"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";

далее при нажатии на мероприятие должна открывать новая страница, но название этого мероприятия оставалось в кукиксах ,чтобы новая страница заполнялась данными только по этому мероприятию..у меня проблема только в помещении этого мероприяти в кукиксы..это вообще как-то можно сделать?

31

Re: авторизация

Работа с кукисами описана здесь: http://lv.php.net/manual/en/function.setcookie.php

Только имейте в виду, что записывать кукисы надо в самом верху скрипта, до формирования страницы.

32

Re: авторизация

с кукисами то вроде я разобрался, знаю как их вывести, как в них занести ,одно не понимаю-как занести в кукисы по нажатию на ссылку..это при формировании каждой строки ссылку < a href.....> нужно дополнить оператором setcookie ('name','value')?..не могу додуматься,вроде кажется несложным..

33

Re: авторизация

Это вам надо в ссылке передать параметр для записи кукисов, или прямо через GET.
<a href="meropr.php?param=value">

34

Re: авторизация

таким образом заношу название мероприятия в кукис:
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
//if ($delo='Поход в детский дом'){echo "<tr>";
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";
setcookie('meropr', 'param');

на следующей странице вывожу содержание:
echo $_COOKIE["meropr"];

но че-то ниче не выводится..где я ошибся?

35

Re: авторизация

Функцию setcookie() необходимо выполнить до echo, то есть в самом верху скрипта.

36

Re: авторизация

то есть что-то типа того должно быть?:
setcookie('meropr', $delo);
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
//if ($delo='Поход в детский дом'){echo "<tr>";
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}
setcookie('meropr', $delo);
echo "</table>";
и на новой странице вызывать:
setcookie('meropr', $delo);
echo $_COOKIE['meropr'];

еще меня интересует вопрос ,если я пишу функцию setcookie в таком виде ,то значение я беру равное $delo или параметр param...мне казалось ,что я должен использовать переменную $delo,но не выходит...

37

Re: авторизация

Запись в куки:

setcookie('meropr', $delo);

Чтение из кукисов:

echo $_COOKIE['meropr'];

Я не понимаю зачем записывать значение переменной $delo и в урл и в куки, должно быть достаточно записи в урл, если в этой переменной не очень длинная строка.

38

Re: авторизация

мне достаточно в куки записать значение нажатой ссылки ,чтобы на следующей странице отобразить только информацию по данному мероприятию...и как-то у меня не реагирует на значение перменной $delo-содержимое куков не отображается на другой странице..хотя делаю вроде все так,как описано выше

39

Re: авторизация

Тогда покажите всю страницу скрипта.

40

Re: авторизация

код этой страницы очень громоздкий ,я скопировал только ту часть где строится таблица с мероприятиями:
$dela = 'SELECT distinct NomGrup,Nazv,del_grupp.Id_dela
from grupps,dela_gr,del_grupp WHERE grupps.Id_grup=del_grupp.Id_grup and del_grupp.Id_dela=dela_gr.Id_dela and NomGrup = ' . $_REQUEST['NomGrup1'];
$zapr1=mysql_query($dela);
if (!$zapr1)
{
  die ("Невозможно исполнить запрос к базе данных:<br/>".mysql_error());
}
echo "<script>
function open_window() {
  window.open('meropr.php', null, 'width=400, height=500, left=830, top=10, status=no');
}
</script>";
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";
setcookie('meropr', $delo);

той страницы ,на которой нужно вывести:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Мероприятия</title>
<link rel="stylesheet" type="text/css" href="css/style_add.css"/>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<div id="container">
    <!-- header -->
    <div id="header">
   
               
    </div>        
    <!--end header -->
    <!-- main -->
    <div id="main">
    <?php
    echo $_COOKIE['meropr'];
    include('db_login.php');
$connection=mysql_connect($db_host,$db_username,$db_password);
mysql_query('SET NAMES utf8');
.....
.....
....
?>

41

Re: авторизация

Функцию setcookie() необходимо выполнить до того, как будут отправлены заголовки, а значит до всех функций echo или print или header(). Куки передаются в заголовке страницы, поэтому нельзя записать что-то в куки страницы, если она уже отправлена пользователю.

42 (изменено: VitoS, 2012-01-28 15:14:22)

Re: авторизация

не получается че-то...я объявил функцию setcookie в самом начале страницы:
<?php
setcookie("meropr", $delo);
include('db_login.php');
.......
.....
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";
...
...
?>

на новой странице вызываю:
<?
....
....
echo $_COOKIE['meropr'];
...
...
?>
он не видит содержание переменной $delo..пишу туда просто какое-нибудь другое значение и все нормально работает..как можно обойти эту ситуацию?

43

Re: авторизация

А как в переменной $delo может быть что-то вообще, если переменная даже не объявлена?

Выберите необходимое значение для этой переменной и затем уже записывайте ее в куки.

44 (изменено: VitoS, 2012-01-29 14:06:07)

Re: авторизация

да ,это-то понятно, что надо ее раньше объявить ,но как быть тогда ,если в куки надо записать содержимое переменной ,которая объявляется вот тут:
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";

45

Re: авторизация

Сперва выполните этот запрос, данные из него запишите в переменную в виде строки, в свою очередь и переменная $delo будет уже заполнена чем-то. Затем, ниже в коде выведите собранные из БД данные.

46

Re: авторизация

немного не понял,что должно получиться(
<?php
setcookie("meropr", $delo);
include('db_login.php');
.......
.....
$dela = 'SELECT distinct NomGrup,Nazv,del_grupp.Id_dela
from grupps,dela_gr,del_grupp WHERE grupps.Id_grup=del_grupp.Id_grup and del_grupp.Id_dela=dela_gr.Id_dela and NomGrup = ' . $_REQUEST['NomGrup1'];
$zapr1=mysql_query($dela);//вот сам запрос, немного не понимаю как вывести в одну строку, тут же может быть много значений..
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)){
$delo=$mas1["Nazv"];
echo "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";echo '</td>';echo '</tr>';}

echo "</table>";
...
...
?>

47

Re: авторизация

<?php

$tr = '';

$dela = 'SELECT distinct NomGrup,Nazv,del_grupp.Id_dela
from grupps,dela_gr,del_grupp WHERE grupps.Id_grup=del_grupp.Id_grup and del_grupp.Id_dela=dela_gr.Id_dela and NomGrup = ' . $_REQUEST['NomGrup1'];
$zapr1=mysql_query($dela);
while($mas1=mysql_fetch_array($zapr1,MYSQL_ASSOC)) {
$delo=$mas1["Nazv"];
$tr .= '<tr>';
$tr .= "<td width='300'><a href=\"meropr.php?param='".$delo."'\"><font color=black size=2><li>$delo</li></font></a>";
$tr .= '</td>';
$tr .= '</tr>';
}

setcookie("meropr", $delo);
include('db_login.php');
.......
.....
echo "<table border=0>";
echo "<tr><th align=left><font size=2><i>Мероприятия</i></font></th></tr>";
echo $tr;
echo "</table>";
...
...
?>

48

Re: авторизация

сейчас уже по крайней мере сохраняет в кукисах мероприятие, но только последнее значение...то есть при нажатии любой ссылки он выводит последнее значение переменной..у нас же уже вроде бы указано в ссылке <a href=\"meropr.php?param='".$delo."'\">..почему это может происходить?

49

Re: авторизация

Если в ссылке указано, то зачем же куки использовать? В скрипте  meropr.php смотрите параметр param.

if (isset($_GET['param'])) {
  echo $_GET['param'];
}

50

Re: авторизация

вот я затупил конечно, спасибо огромное ,все сейчас нормально работает!