PHP.SU

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

Страниц (81): В начало « ... 72 73 74 75 [76] 77 78 79 80 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 09 Января, 2007 - 12:44:06 • Тема: поле изображение • Форум: Программирование на PHP

Ответов: 7
Просмотров: 932
Ты создал кнопку отправки в виде графического изображения. При нажатии на нее данные формы будут отправлены на сервер. Эти данные (для input type="text" или type="checkbox") обрабатываешь на стороне сервера. Зачем обрабатывать кнопку отправки? Она конечно содержит данные (по-моему координаты мыши в момент щелчка) - но ты уверен, что именно это тебе нужно? Честно, не встречал приложений, где это было нужно.
evgenijj Отправлено: 04 Января, 2007 - 15:33:16 • Тема: проблема с выводом данных • Форум: Программирование на PHP

Ответов: 6
Просмотров: 725
Прикрепляй исходники - посмотрю на досуге.

P.S. Странно как-то ты значения checkbox сохраняешь. Пусть есть 5 checkbox
PHP:
скопировать код в буфер обмена
  1.  
  2. <input type="checkbox" name="cb1"/>
  3. <input type="checkbox" name="cb2"/>
  4. <input type="checkbox" name="cb3"/>
  5. <input type="checkbox" name="cb4"/>
  6. <input type="checkbox" name="cb5"/>
  7.  

Пользователь отметил 1, 3 и 5-ый. Моссив $tip содержит три значения
PHP:
скопировать код в буфер обмена
  1.  
  2. $tip[0] = "On";
  3. $tip[1] = "On";
  4. $tip[2] = "On";
  5.  

Но какие checkbox были выбраны: 1, 3 и 5 или 3, 4, 5 или 1, 2, 3?
evgenijj Отправлено: 03 Января, 2007 - 00:14:05 • Тема: Помогите разобраться с БД • Форум: SQL и Архитектура БД

Ответов: 8
Просмотров: 142
Седой пишет:

Может ли кто-то подсказать как сделать так, чтобы поле id (это первичный ключ) не увеличивалось каждый раз на единицу, а сначала проверяло с 1. Если есть 1- идем дальше, нету 2, значит присваиваем объявлению 2, а те, что больше - не трогаем. Будет все 100-200 заняты, значит увеличиваем на единицу. ???


Просто любопытно: а зачем?
evgenijj Отправлено: 02 Января, 2007 - 20:32:13 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Пойми, когда ты отправляешь данные формы с логином и паролем из формы в файле pass.php эти переменные будут доступны в обработчике формы - файле index.php. Но когда ты пытаешься удалить запись из таблицы - ты отправляешь данные из формы в файле index.php. Переменные $_POST["variants"] и $_POST["name"] будут доступны в обработчике этой формы - index.php (форма и обработчик в данном случае расположены в одном файле).

Когда браузер запрашивает у сервера документ с расширением .php сервер отдает этот файл на обработку PHP. На время выполнения внутри скрипта доступны какие-то переменные. Но доступны только во время выполнения скрипта. Скрипт закончил свою работу - и отдал сгененерированный html серверу, а тот отдал его браузеру. Раз скрипт закончил свою работу - занимаемая им оперативная память освобождается. Все переменные утеряны.

Если ты хочешь сохранить какие-то данные между двумя вызовами скрипта, ты должен сохранить эти данные (переменные) в файле на сервере. Или сохранить их в сессии.
evgenijj Отправлено: 02 Января, 2007 - 19:43:26 • Тема: конец строки • Форум: Программирование на PHP

Ответов: 17
Просмотров: 7247
vector пишет:
n не будет являться подстрокой

Да, не проходит вариант. Ну а если разбить содержимое поля textarea на отдельные элементы по символу новой строки?
PHP:
скопировать код в буфер обмена
  1.  
  2. <form method="POST" action="txt.php">
  3. <textarea name="txt"></textarea>
  4. <input type="submit" value="Go!">
  5. </form>
  6.  
  7. <?PHP
  8. $str = explode( "n", $_POST["txt"] );
  9. ?>
  10.  

Количество символов новой строки можно узнать по числу элементов в массиве $str

P.S. Вообще, разговор был бы более предметным, если бы ты рассказал, а какая задача стоит? А то гадаю на кофейной гуще.
evgenijj Отправлено: 02 Января, 2007 - 18:49:10 • Тема: конец строки • Форум: Программирование на PHP

Ответов: 17
Просмотров: 7247
vector пишет:

не обязательно писать ===true

Писать ===true обязательно: http://php.su/functions/?strpos
vector пишет:
такой код не пройдёт

Я же не знаю, что тебе нужно.
evgenijj Отправлено: 02 Января, 2007 - 18:29:23 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Тяжелый случай.
index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <title>Admin</title>
  4. <body>
  5. <form method = "post" action = "index.php" >
  6. <select name = "variants" >
  7. <option value="1"> </option>
  8. <option value="2">TABLE1</option>
  9. <option value="3">TABLE2</option>
  10. <option value="4">TABLE3</option>
  11. <option value="5">TABLE4</option>
  12. <option value="6">TABLE5</option>
  13. <option value="7">TABLE6</option>
  14. </select>
  15. <p>Select name: <input type="text" name="name">
  16. <input type="submit" name="submit" value="Delete">
  17. </form>
  18. <br/><br/>
  19.  
  20. <?PHP
  21.  
  22. // Посмотрим, какие значения содержим массив $_POST
  23. foreach ( $_POST as $key => $value )
  24. {
  25.     echo "key=".$key." value=".$value."<br/>";
  26. }
  27.  
  28. if ( !mysql_connect( "localhost", $_POST["login"], $_POST["pass"] ) );
  29. {
  30.     echo "<h2>MySQL Error!</h2>";
  31.     exit;
  32. }
  33.  
  34. $dbname = "mydatabase";
  35. $select_db = mysql_select_db ( $dbname );
  36. if ( !$select_db )
  37. {
  38.     exit("<p >В настоящий момент база данных не доступна,
  39.          поэтому корректное отображение страницы невозможно.</p >");
  40. }
  41.  
  42. if ($_POST["variants"] == 2)
  43. {
  44.     mysql_query ("DELETE FROM TABLE1 WHERE name = '".$_POST["name"]."'");
  45. }
  46.  
  47. ?>
  48.  


pass.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <body>
  4. <form action = "index.php" method= "post">
  5. <p >Login: <input type= "text" name= "login">
  6. <p >Password: <input type= "text" name= "pass">
  7. <input type = "submit" name= "submit" value= "OK">
  8. </form>
  9. </body>
  10. </html>
  11.  


Заполним форму в файле pass.php и нажмем кнопку "OK":
PHP:
скопировать код в буфер обмена
  1.  
  2. key=login value=mylogin
  3. key=pass value=mypassword
  4. key=submit value=OK
  5.  


Теперь заполним форму в файле index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. key=variants value=2
  3. key=name value=Peter
  4. key=submit value=Delete
  5.  


Как видишь, переменные $_POST["login"], $_POST["pass"] не определены.
evgenijj Отправлено: 02 Января, 2007 - 13:56:16 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Форма для удаления записей из таблиц находится в файле index.php. В этом же файле - обработчик формы. Но откуда скрипт будет брать значения $_POST["login"], $_POST["pass"], если эти переменные ты получаешь из формы в файле pass.php?

Кстати, по поводу административной панели для добавления / удаления / редактирования записей в БД. Я тут недавно писал ответ на аналогичный вопрос: http://forum.php.su/topic.php?fo...=28&topic=34
evgenijj Отправлено: 02 Января, 2007 - 13:23:21 • Тема: конец строки • Форум: Программирование на PHP

Ответов: 17
Просмотров: 7247
CODE (text):
скопировать код в буфер обмена
  1.  
  2. if ( strpos ( $_POST["txt"], "\n" ) === true ) echo "Новая строка";
  3.  
evgenijj Отправлено: 01 Января, 2007 - 19:56:27 • Тема: Что за ошибка? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 351
Ты полагаешь, мы тут все ясновидящие? Находим ошибки, даже не имея исходников? Забыл где-нибудь закрыть кавычку ", или еще что - без исходников не понять.
evgenijj Отправлено: 31 Декабря, 2006 - 00:59:36 • Тема: Удаление строк/ячеек в БД через сайт • Форум: SQL и Архитектура БД

Ответов: 24
Просмотров: 313
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist";
  5. $action = $_GET["action"];
  6. $id = $_GET["id"];
  7.  
  8. switch ( $action )
  9. {
  10.     case "showlist":
  11.         show_list(); break;
  12.     case "delete":
  13.         delete_item( $id );
  14.         show_list(); break;
  15.     case "update":
  16.         update_item( $id );
  17.         show_list(); break;
  18.     case "editform":
  19.         get_edit_item_form( $id ); break;
  20.     default:
  21.         show_list();
  22. }
  23.  
  24. function show_list()
  25. {
  26.     $query = "SELECT id, title, description FROM items WHERE 1";
  27.     $res = db_query( $query );
  28.     echo "<h2>Список</h2>";
  29.     echo "<table>";
  30.     echo "<tr><th>ID</th><th>Наименование</th><th>Описание</th><th>Ред.</th><th>Удл.</th></tr>";
  31.     while ( $item = db_fetch_array( $res ) )
  32.     {
  33.         echo "<tr>";
  34.         echo "<td>".$item["id"]."</td>";
  35.         echo "<td>".$item["title"]."</td>";
  36.         echo "<td>".$item["description"]."</td>";
  37.         echo "<td><a href='".$_SERVER["PHP_SELF"]."?action=editform&id=".$item["id"]."'>Ред.</a></td>";
  38.         echo "<td><a href='".$_SERVER["PHP_SELF"]."?action=delete&id=".$item["id"]."'>Удл.</a></td>";
  39.         echo "</tr>";
  40.     }
  41.     echo "</table>";
  42. }
  43.  
  44. function get_edit_item_form( $id )
  45. {
  46.     echo "<h2>Редактировать</h2>";
  47.     $query = "SELECT title, description FROM items WHERE id=".$id;
  48.     $res = db_query( $query );
  49.     $item = db_fetch_array( $res );
  50.     echo "<form name='editform' action='".$_SERVER["PHP_SELF"]."?action=update&id=".$id."' method='POST'>";
  51.     echo "<table>";
  52.     echo "<tr>";
  53.     echo "<td>Наименование</td>";
  54.     echo "<td><input type='text' name='title' value='".$item["title"]."'></td>";
  55.     echo "</tr>";
  56.     echo "<tr>";
  57.     echo "<td>Описание</td>";
  58.     echo "<td><textarea name='description'>".$item["description"]."</textarea></td>";
  59.     echo "</tr>";
  60.     echo "<tr>";
  61.     echo "<td><input type='submit' value='Сохранить'></td>";
  62.     echo "<td><button type='button' onClick='javascript: history.back();'>Отменить</button></td>";
  63.     echo "</tr>";
  64.     echo "</table>";
  65.     echo "</form>"
  66. }
  67.  
  68. function update_item( $id )
  69. {
  70.     $title = db_escape_string( $_POST['title'] );
  71.     $description = db_escape_string( $_POST['description'] );
  72.     $query = "UPDATE items SET title='".$title."', description='".$description."',
  73.              WHERE id=".$id;
  74.     db_query ( $query );
  75.     return true;
  76. }
  77.  
  78. function delete_item( $id )
  79. {
  80.     $query = "DELETE FROM items WHERE id=".$id;
  81.     db_query ( $query );
  82.     return true;
  83. }
  84.  
  85. ?>
  86.  
evgenijj Отправлено: 30 Декабря, 2006 - 23:28:47 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
У тебя пробел перед именем таблицы TABLE1 и после. И пробел перед значением $_POST["name"] и после - это ошибка:
mysql_query ("DELETE FROM `*TABLE1*` WHERE name = '*".$_POST["name"]."*' ");
И имя таблицы нужно заключать либо в обратные кавычки `, либо вообще не использовать кавычки:
mysql_query ("DELETE FROM `TABLE1` WHERE name = '".$_POST["name"]."'");
mysql_query ("DELETE FROM TABLE1 WHERE name = '".$_POST["name"]."'");
Поставь себе редактор с подсветкой кода (например Notepad++) - будет проще искать синтаксические ошибки.
evgenijj Отправлено: 30 Декабря, 2006 - 17:20:38 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Давай так: мухи - отдельно, котлеты - отдельно. Ты пишешь запрос к БД на языке SQL:
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "SELECT id, name, email FROM users WHERE 1 ORDER BY name;";
  3.  

Выполняешь этот запрос с помощью функции mysql_query. Эта функция позволяет выполнить запрос к БД: SELECT, INSERT, DELETE, UPDATE и т.п.

Потом обрабатываешь полученные данные
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if ( mysql_num_rows( $res ) > 0 )
  4. {
  5.     echo "<table border='1'>";
  6.     while ( $user = mysql_fetch_array( $res ) )
  7.     {
  8.         echo "<tr><td>".$user["name"]."</td><td>".$user["email"]."</td></tr>";
  9.     }
  10.     echo "</table>";
  11. }
  12. ?>
  13.  
evgenijj Отправлено: 30 Декабря, 2006 - 16:57:25 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Onyx пишет:
Ну а впринципе через функцию mysql_query можно удалять и вводить строки ?

Ты не поверишь: именно для этого и создана эта функция Улыбка
evgenijj Отправлено: 30 Декабря, 2006 - 16:46:49 • Тема: Подскажите функцию • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 395
Забыл выбрать базу данных, с которой будешь работать
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $dbname = "mydatabase";
  4. $select_db = mysql_select_db ( $dbname );
  5. if ( !$select_db )
  6. {
  7.     exit("<p >В настоящий момент база данных не доступна,
  8.               поэтому корректное отображение страницы невозможно.</p >");
  9. }
  10. ?>
  11.  


Да, и еще
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. mysql_query ("DELETE FROM client WHERE name = '".$_POST["name"]."'");
  4. ?>
  5.  

Страниц (81): В начало « ... 72 73 74 75 [76] 77 78 79 80 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB