PHP.SU

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

Страниц (81): В начало « ... 67 68 69 70 [71] 72 73 74 75 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 16 Марта, 2007 - 18:46:04 • Тема: Формы • Форум: Программирование на PHP

Ответов: 4
Просмотров: 677
Да, тяжело с тобой. Давай попробуем разобраться. Когда пользователь набирает в адресной строке браузера адрес (http://someserver.com/index.html), браузер запрашивает у сервера соответствующий документ (index.html), а сервер (Apache), найдя у себя этот документ, отдает браузеру. Если расширение запрашиваемого файл php, Apache отдает этот файл на выполнение PHP. PHP выполняет этот скрипт, а результат выполнения (сгенерированный html) отдает серверу, а тот, в свою очередь - клиенту (браузеру).

Как видишь, php-скрипт - это абсолютно независимая единица. Этому скрипту доступны только те переменные, которые были тобой определены внутри этого скрипта, плюс некоторое количество предопределенных переменных (например $_SERVER["DOCUMENT_ROOT"]). Немного другая ситуация, если скрипт - обработчик формы, т.е. имя файла, содержащего скрипт, указано в качестве значения атрибута action тега form:

<form name='myform' action='test.php' method='post'>
<input type="text" name="first" value="" />
<input type="text" name="second" value="" />
<input type="text" name="third" value="" />
<input type="submit" name="mysubmit" value="Отправить" />
</form>

В этом случае, после отправки формы, внутри скрипта test.php будут доступны следующие переменные: $_POST["first"], $_POST["second"], $_POST["third"], $_POST["mysubmit"]. Если пользователь ввел значения "первый", "второй", "третий", то
$_POST["first"] = "первый"
$_POST["second"] = "второй"
$_POST["third"] = "третий"
$_POST["mysubmit"] = "Отправить"
Но это только в том случае, если данные формы были отправлены. Если просто набрать в адресной строке браузера http://someserver[dot]com/test.php переменные $_POST["first"], $_POST["second"], $_POST["third"], $_POST["mysubmit"] будут неопределены.

Теперь о том, как работает скрипт, который я приводил ранее:
PHP:
скопировать код в буфер обмена
  1.  
  2.  <?PHP
  3.  
  4.  $language = array( 1 => "JavaScript", 2 => "PHP", 3 => "Perl" );
  5.  
  6.  if ( isset( $_POST["course"] ) )
  7.  {  
  8.         echo "<h2>Вы выбрали курс:</h2>";
  9.         echo "<form name='myform' action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  10.         echo "<select name='course' onChange='this.form.submit()'>";     
  11.         foreach ( $language as $key => $value )
  12.         {
  13.                 if ( $_POST["course"] == $key )
  14.                         echo "<option value='".$key."' 'selected'>".$value."</option>";
  15.                 else
  16.                         echo "<option value='".$key."'>".$value."</option>";
  17.         }
  18.         echo "</select>";
  19.         echo "</form>";
  20.          
  21.         $query = "SELECT name, surname FROM students WHERE course=".$_POST["course"];
  22.         $res = mysql_query( $query );
  23.         echo "<p >Слушатели курса:</p>";
  24.         echo "<ul>";
  25.         while ( $student = mysql_fetch_array( $res ) )
  26.         {
  27.                 echo "<li>".$student["name"]." ".$student["surname"]."</li>";
  28.         }
  29.         echo "</ul>";    
  30.  }
  31.  else
  32.  {
  33.         echo "<h2>Доступные курсы:</h2>";
  34.         echo "<form name='myform' action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  35.         echo "<select name='course' onChange='this.form.submit()'>";
  36.         echo "<option value='0'>Выберите:</option>";
  37.         foreach ( $language as $key => $value )
  38.         {
  39.                 echo "<option value='".$key."'>".$value."</option>";
  40.         }
  41.         echo "</select>";
  42.         echo "</form>";
  43.  }
  44.          
  45.  ?>
  46.  


Внутри скрипта мы определяем массив $language. Если пользователь еще не заполнил форму (проверка if), скрипт выводит в браузер форму:

<h2>Доступные курсы:</h2>
<form name='myform' action='test.php' method='POST'>
<select name='course' onChange='this.form.submit()'>
<option value='0'>Выберите:</option>
<option value='1'>JavaScript</option>
<option value='2'>PHP</option>
<option value='3'>Perl</option>
</select>
</form>

Выбран первый элемент - по умолчанию. Здесь нет кнопки отправки - отправка данных осуществляется с помощью JavaScript. Как только пользователь выберет курс - onChange='this.form.submit()'. В данном случае форма и обработчик формы расположены в одном файле (но могут быть и в разных). Как только данные формы были отправлены, внутри скрипта test.php, который обрабатывает данные из этой формы, будет доступна переменная $_POST["course"]. Проверка (оператор if) устанавливает этот факт и скрипт выводит в браузер следующий код (запрашивая при этом данные из базы данных):

<h2>Вы выбрали курс:</h2>
<form name='myform' action='test.php' method='POST'>
<select name='course' onChange='this.form.submit()'>
<option value='1'>JavaScript</option>
<option value='2' 'selected'>PHP</option>
<option value='3'>Perl</option>
</select>
</form>
<p >Слушатели курса:</p>
<ul>
<li>Иван Иванов</li>
<li>Петр Петров</li>
</ul>
evgenijj Отправлено: 16 Марта, 2007 - 17:15:00 • Тема: Формы • Форум: Программирование на PHP

Ответов: 4
Просмотров: 677
Как это? Вопросы у тебя - один мудренее другого.

файл test.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once "functions.php";
  4. myfunct("Hello, World!");
  5. ?>
  6.  

Файл functions.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function myfunct( $message )
  4. {
  5.     echo $message;
  6. }
  7.  
  8. function connectDB()
  9. {
  10.     ........................
  11. }
  12.  
  13. .......................
  14. ?>
  15.  
evgenijj Отправлено: 16 Марта, 2007 - 16:35:20 • Тема: сортировка • Форум: Программирование на PHP

Ответов: 4
Просмотров: 439
alfred пишет:
а как мне можно это сделать?

SELECT title, announce, body, puttime FROM news ORDER BY id DESC;
SELECT title, announce, body, puttime FROM news ORDER BY puttime DESC;
evgenijj Отправлено: 16 Марта, 2007 - 00:25:09 • Тема: Выпадащий список select • Форум: Программирование на PHP

Ответов: 5
Просмотров: 630
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $language = array( 1 => "JavaScript", 2 => "PHP", 3 => "Perl" );
  5.  
  6. if ( isset( $_POST["course"] ) )
  7. {
  8.         echo "<h2>Вы выбрали курс:</h2>";
  9.         echo "<form name='myform' action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  10.         echo "<select name='course' onChange='this.form.submit()'>";   
  11.         foreach ( $language as $key => $value )
  12.         {
  13.                 if ( $_POST["course"] == $key )
  14.                         echo "<option value='".$key."' 'selected'>".$value."</option>";
  15.                 else
  16.                         echo "<option value='".$key."'>".$value."</option>";
  17.         }
  18.         echo "</select>";
  19.         echo "</form>";
  20.        
  21.         $query = "SELECT name, surname FROM students WHERE course=".$_POST["course"];
  22.         $res = mysql_query( $query );
  23.         echo "<p >Слушатели курса:</p>";
  24.         echo "<ul>";
  25.         while ( $student = mysql_fetch_array( $res ) )
  26.         {
  27.                 echo "<li>".$student["name"]." ".$student["surname"]."</li>";
  28.         }
  29.         echo "</ul>";  
  30. }
  31. else
  32. {
  33.         echo "<h2>Доступные курсы:</h2>";
  34.         echo "<form name='myform' action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  35.         echo "<select name='course' onChange='this.form.submit()'>";
  36.         echo "<option value='0'>Выберите:</option>";
  37.         foreach ( $language as $key => $value )
  38.         {
  39.                 echo "<option value='".$key."'>".$value."</option>";
  40.         }
  41.         echo "</select>";
  42.         echo "</form>";
  43. }
  44.        
  45. ?>
  46.  
evgenijj Отправлено: 14 Марта, 2007 - 19:12:51 • Тема: Задержка • Форум: Программирование на PHP

Ответов: 4
Просмотров: 546
http://www.php.su/functions/?sleep
evgenijj Отправлено: 13 Марта, 2007 - 22:01:07 • Тема: Задержка • Форум: Программирование на PHP

Ответов: 4
Просмотров: 546
RooT пишет:
Подскажите пожалуйста возможно ли сделать ... выполнения функции в определённое время??

как правило все хостеры предоставляют доступ к cron.
http://www[dot]codenet[dot]ru/webmast/php/cron.php
evgenijj Отправлено: 13 Марта, 2007 - 21:04:45 • Тема: Скачивание информации по ссылке • Форум: Программирование на PHP

Ответов: 10
Просмотров: 803
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Загружаем страницу с удаленного хоста
  4. $content = file_get_contents( "http://mail.ru" );
  5. // Удаляем теги
  6. $content = strip_tags( $content );
  7. // Сохраняем содержимое в файл
  8. $f = fopen( "mail.txt", "w" );
  9. fwrite( $f, $content );
  10. fclose( $f );
  11. ?>
  12.  
evgenijj Отправлено: 13 Марта, 2007 - 20:23:10 • Тема: Передача данных • Форум: Программирование на PHP

Ответов: 1
Просмотров: 312
Цитата:
Задрасвуте, как можно использовать выпадающий список select в формах вместо submit для отправки данных из форм?

<select name="id" onChange="this.form.submit();">
Цитата:

А что нужно сделать так чтоб можно выбрать было в выпадающем списке значение и в зависимости от него выводить те или иные данные из БД?

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if ( isset( $_POST["mysubmit"] ) )
  5. {
  6.         $query = "SELECT name, description FROM mytable WHERE id=".$_POST["id"];
  7.         $res = mysql_query( $query );
  8.         $item = mysql_fetch_array( $res );
  9.         echo "Вы выбрали элемент: ".$item["name"]."<br />";
  10.         echo "Описание: ".$item["description"]."<br />";
  11. }
  12. else
  13. {
  14.         echo "<form name='myform' action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  15.         echo "<select name='id'>";
  16.         echo "<option value='1'>First</option>";
  17.         echo "<option value='2'>Second</option>";
  18.         echo "<option value='3'>Third</option>";
  19.         echo "</select>";
  20.         echo "<input type='submit' name='mysubmit' value='Отправить' />"
  21.         echo "</form>";
  22. }
  23.  
  24. ?>
  25.  
evgenijj Отправлено: 13 Марта, 2007 - 20:12:20 • Тема: Как узнать IP? • Форум: HTTP и PHP

Ответов: 6
Просмотров: 16093
maxfd пишет:
Подскажите пожалуйста как узнать IP пользователя и IP прокси, если клиент подключен через прокси?

Цитата:

В элемент $_SERVER['REMOTE_ADDR'] помещается IP-адрес клиента. При тестировании на локальной машине — этот адрес будет равен 127.0.0.1. Однако при тестировании в сети переменная вернёт IP-адрес клиента или последнего прокси-сервера через который клиент попал на сервер. Если клиент использует прокси-сервер узнать его IP-адрес можно при помощи переменной окружения HTTP_X_FORWARDED_FOR, значение которой можно получить при помощи функции getenv().

http://www.php.su/articles/?cat=...ars&page=015
evgenijj Отправлено: 11 Марта, 2007 - 10:23:13 • Тема: Ввод данных в db • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 170
Denand пишет:

по поводу экзотики - это так эксперемент версия! я переделал имя. вот как все осталось и начало работать

Это называется - искать себе на ... приключения. Сначала в качестве имени таблицы (или поля таблицы) использовать что-нибудь экзотическое (типа числа или ключевого слова SQL), а потом часами искать ошибку.
http://forum.php.su/topic.php?fo...=28&topic=12

В любом языке программирования нельзя использовать в качестве переменных ключевые слова. Имя переменной может содержать буквы, цифры и символ подчеркивания "_", но начинаться должно с буквы или "_"
evgenijj Отправлено: 10 Марта, 2007 - 22:48:43 • Тема: Хелп! Не итдут скрипты • Форум: Программирование на PHP

Ответов: 3
Просмотров: 387
Попробуй проверить права доступа к файлам и директориям.
evgenijj Отправлено: 10 Марта, 2007 - 22:41:32 • Тема: Ввод данных в db • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 170
Denand пишет:
Согласен, что тэги были лишнии.. evgenijj я не это имел ввиду!!!!(код и без них не работает)
Вопрос вот в чем: не будь этих тэгов правен ли код!?.. ведь правильный!!!!!!! но, в чем парадокс.. не работает код! Хорошо не пишет в базу.. выдает ошибку.
кто шарит в этом помогите! запарился уже путем втыка решать задачу.. нужно пояснение.

На первый взгляд все правильно
PHP:
скопировать код в буфер обмена
  1.  
  2. <form action="mmm.php" method="POST"><br /><b>Текст </b><input type="text" name="name" > <br /><input type="submit" value="Отправить ">
  3. </form>
  4.  
  5. <?PHP
  6. $host="localhost";
  7. $user_db="qaz";
  8. $pass_db="123";
  9. $dbase="qaz";
  10. $dtable="111";
  11.  
  12. if (!mysql_connect($host,$user_db,$pass_db))
  13.         echo "Ошибка подключения к серверу MySQL";
  14. else
  15.         echo " Достучались до сервера";
  16.  
  17. if ( !mysql_select_db($dbase) ) die("В настоящий момент база данных не доступна");
  18.  
  19. $name = $_POST ["name"];
  20.  
  21. $sql = "INSERT INTO `".$dtable."` (name) VALUES ('".mysql_escape_string($name)."')";
  22.  
  23. if ( mysql_query ( $sql ) )
  24. {
  25.         print "ЗАПИСАЛОСЬ!!!<BR>";
  26.         print '<META HTTP - EQUIV="REFRESH" CONTENT="2; URL=fff.php">';
  27. }
  28. else
  29. {
  30.         echo "<p >Error ".mysql_errno()." ".mysql_error()."</p >";
  31. }
  32. ?>
  33.  

Только имя таблицы надо заключить в обратные кавычки `111`. Что же ты имя-то для таблицы такое экзотическое выбрал?
evgenijj Отправлено: 10 Марта, 2007 - 20:47:20 • Тема: Ввод данных в db • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 170
Denand пишет:
Это не играет значения, ошибка запроса sql ! мне кажется что то с mysql_query, так как делал проверку на каждой строке - нет только $result!!! И неизменно выдает ошибку..
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '111 VALUES ('64645')' at line 1

Как это не имеет значения! Попробуй из командной строки выполнить запрос
INSERT INTO mytable (name) VALUES ('somebody') <br>\n
и посмотри, что тебе ответит сервер.

Почему бы тебе не оформить запрос к БД более красочно:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  $sql = "<span style='color:red; font-weight:bold'>INSERT INTO</span> $dtable (name) <span style='color:red; font-weight:bold'>VALUES</span> ('$name') <br />\\n";
  4. ?>
  5.  

MySQL это любит, и такие запросы обрабатывает быстрее Улыбка
evgenijj Отправлено: 09 Марта, 2007 - 15:18:02 • Тема: upload данных на сервер... • Форум: Программирование на PHP

Ответов: 6
Просмотров: 711
alfred пишет:
evgenijj пишет:
Если да - измени права доступа.

а как я могу это сделать?

В Total Commander команда Файл->Изменить атрибуты
evgenijj Отправлено: 09 Марта, 2007 - 13:16:20 • Тема: upload данных на сервер... • Форум: Программирование на PHP

Ответов: 6
Просмотров: 711
Permission denied - Доступ запрещен. У тебя нет прав на запись в директорию images. А директория существует? Если да - измени права доступа.

Страниц (81): В начало « ... 67 68 69 70 [71] 72 73 74 75 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB