Здравствуйте, гость ( Вход | Регистрация )

24 страниц V  « < 9 10 11 12 13 > »   
Ответить в данную темуНачать новую тему
> PHP | Вопросы и ответы, а так же всему что с ним связано
Рейтинг 5 V
[BlockDog]
сообщение 11.03.2005 - 17:58

Частый гость
***

Группа: Участник
Сообщений: 248
Регистрация: 29.11.2004
Пользователь №: 5564


NIK
<input type=\"hidden\" name=\"seen\" value=\"y\">
нужно, чтобы при проверки if выполнялся второй блок...

работать как есть он не будет... это лишь часть кода, который нужен тебе..
если не знаешь, что и как, пиши, какую ошибку выдает, будем разбираться...
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 11.03.2005 - 18:08
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


Цитата([BlockDog].DaMN @ 11.03.2005 - 17:58)
NIK
<input type=\"hidden\" name=\"seen\" value=\"y\">
нужно, чтобы при проверки if выполнялся второй блок...

а почему нельзя написать вот так?
<INPUT TYPE="submit" NAME="seen">
т.е. иф будет выполняться при условии что кнопка была нажата?
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 11.03.2005 - 19:39

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


а больше способов никаких нет? Я вот так пробовал.
Файл test.php с формой
PHP

<html>
<head>
</head>
<body>
<form action=config.php method=post>
<INPUT TYPE=text NAME="host" SIZE= 30 VALUE="10.0.0.0" MAXLENGTH= 13>
<INPUT TYPE=submit NAME="submit" SIZE= 30 VALUE="Послать">
</form>
<? include "config.php"; ?>
</body>
</html>

Обрабатываем форму файлом config.php
PHP

$dblocation = "localhost";
$dbuser = "";
$dbpass = "";
$dbname = "ftp";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpass);
$select_db = mysql_select_db($dbname, $dbcnx);
$host = $HTTP_POST_VARS["host"];
$query = "insert into hosts values (0, '$host');";
if (mysql_query($query))
{
 print "Ok!";
} else {
print "Trable!";
}

Таблица в БД ftp называется, как вы уже догадались, hosts. Когда захожу в test.php и ввожу данные в форму, скритп выполняется, т.е. воводится Ok! Захожу посмотреть, что же там добавилось (phpMyAdmin). Добавляется только значение id_host, а вот данные в поле host недоходят, хотя тип стоит INT (цифры). Вот для наглядности картинка таблицы БД ftp:
]]>http://realmadrid.zelnet.ru/helpmeplease.jpg]]>

Подскажите, что тут не так?

Сообщение отредактировано NIK - 11.03.2005 - 19:41
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 11.03.2005 - 20:03
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


Цитата
хотя тип стоит INT (цифры)

если уж быть точным, не цифры, а числа. а где ты видел числа навроде 10.0.0.1??? поставь тип поля строковый
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 11.03.2005 - 20:23

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


Цитата(GreyWind @ 11.03.2005 - 21:03)
если уж быть точным, не цифры, а числа. а где ты видел числа навроде 10.0.0.1??? поставь тип поля строковый

а какой тип тут польше всего подойдёт, что бы нагрузки было меньше? CHAR ?
Попробую. Ну а сам скрипт, написан правельно?
Перейти в начало страницы
 
+Цитировать сообщение
Guest_TeXник_*
сообщение 11.03.2005 - 20:49
| Быстрая цитата | Сообщение #206


Гости





varchar не больше 16 символов
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 11.03.2005 - 21:15

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


выставил, всё равно не хочет sad.gif
ребят, помогите, сам разобраться не в силах sleep.gif
Перейти в начало страницы
 
+Цитировать сообщение
[BlockDog]
сообщение 11.03.2005 - 21:54

Частый гость
***

Группа: Участник
Сообщений: 248
Регистрация: 29.11.2004
Пользователь №: 5564


собаку убери перед mysql_connect..

и вместо последнего иф лучше напиши:

mysql_query($query) or die(mysql_error());
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 11.03.2005 - 22:09

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


Цитата([BlockDog].DaMN @ 11.03.2005 - 22:54)
собаку убери перед mysql_connect..

и вместо последнего иф лучше напиши:

mysql_query($query) or die(mysql_error());

ничего не даёт. Данные попржнему не попадают в таблицу dry.gif
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 11.03.2005 - 23:04
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


замени данные БД и всё будет работать
CODE

<!-- Выводим форму добавления хоста -->
<FORM METHOD=POST ACTION="<?php echo $_SERVER['PHP_SELF']?>">
<INPUT TYPE="text" NAME="host"><INPUT TYPE="submit" NAME="send">
</FORM>
<!-- Вывели, в ACTION лежит адрес этого скрипта -->
<?php
if(isset($_POST['send'])) { // была ли нажата кнопка?
if(isset($_POST['host'])) { // есть ли что-нибудь в поле host?
$link = mysql_connect('localhost', 'user', 'pass')
or die ('Не могу соединиться с сервером MySQL');
mysql_select_db ('ftphosts')
or die ('Не могу выбрать БД');
$query = 'INSERT INTO `hosts` (`host`) VALUES ("'.$_POST['host'].'")';
// составили строку запроса, записываем единственное знаение host,
//id - autoincreament'тится
mysql_query($query); // отправили запрос в БД
}
else echo 'Не введён хост ftp';
}
?>

структура таблицы БД:
SQL
CREATE TABLE `hosts` (
`Id` int(6) unsigned NOT NULL auto_increment,
`host` varchar(17) default NULL,
PRIMARY KEY (`Id`)
) TYPE=MyISAM;


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

Сообщение отредактировано GreyWind - 11.03.2005 - 23:10
Перейти в начало страницы
 
+Цитировать сообщение
dust
сообщение 12.03.2005 - 00:06

Звезда форума
******
орден I степениорден II степени
Группа: Участник
Сообщений: 1456
Регистрация: 22.04.2004
Пользователь №: 3300


мож если вначале скрипта header(' ') вставить без какого-либо значения или header('Content-type: нужный тип') =)
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 12.03.2005 - 00:51
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


Цитата(dust @ 12.03.2005 - 00:06)
мож если вначале скрипта header(' ') или header('Content-type: нужный тип') =)

Цитата(вывод)
Content-type: text/html
X-Powered-By: PHP/4.3.4

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

Сообщение отредактировано GreyWind - 12.03.2005 - 00:52
Перейти в начало страницы
 
+Цитировать сообщение
dust
сообщение 12.03.2005 - 01:58

Звезда форума
******
орден I степениорден II степени
Группа: Участник
Сообщений: 1456
Регистрация: 22.04.2004
Пользователь №: 3300


вот скрипт

<?
header('');
print 'proverka';
?>

эксплорер показывает следущее:
Код
Content-type: text/html

proverka[/code]

а мозилла говорит что не знает как открыть файл с типом '''' . может та программа в которой ты смотришь результут сама подставляет тип Content-type: text/html , а не получает ?

p.s. если то что я написал бред, то не судите строго =)

dust добавил(а) в нет данных
а не, я сохранил мозиллой то что она отказалась открыть, и там было тоже самое что и в эксплорере. так что это гон =)
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 12.03.2005 - 02:19
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


хы... а как в эксплрере посмотреть шапки?
я в cmd всё загоняю в итоге. и вывод туда же... не думаю что шапку X-Powered-By: PHP/4.3.4 будет генерировать cmd
Перейти в начало страницы
 
+Цитировать сообщение
[BlockDog]
сообщение 12.03.2005 - 13:27

Частый гость
***

Группа: Участник
Сообщений: 248
Регистрация: 29.11.2004
Пользователь №: 5564


Цитата(GreyWind @ 11.03.2005 - 23:04)
Подскажите, люди добрые чего б написать в скрипте чтоб пхп заголовки HTTP не отправлял? а то юзаем пхп в качестве замены бат файлам и совсем не красиво да и не к месту хидеры смотряться

вроде никак.. я в доках ничего не нашел...
можно попробовать перенаправить вывод заголовков в другое место, чтобы они не светились там, где не надо...
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 13.03.2005 - 13:59

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


нужно средствами PHP удалить из таблицы БД MySQL строки, в которых не присутствуют записи. Посмотрел в доки, про команду DELETE, но ничего подобного не нашёл. Мб кто знает, какого вида должен быть запрос? Спасибо.
Перейти в начало страницы
 
+Цитировать сообщение
сплю
сообщение 13.03.2005 - 14:07
Звезда форума
******
орден III степени
Группа: Участник
Сообщений: 1510
Регистрация: 29.09.2003
Пользователь №: 92


как такое может быть?
PS:
DELETE FROM table_name WHERE column1=NULL AND column2=NULL AND... и т.д.
Перейти в начало страницы
 
+Цитировать сообщение
NIK
сообщение 13.03.2005 - 20:22

Постоялец форума
*****
орден I степениорден II степени
Группа: Участник
Сообщений: 997
Регистрация: 8.10.2003
Пользователь №: 353


нужно проверить вводимые пользователем данные в форму на соответсвие регулярному выражению. Данные должны соответствовать типу: 10.**.***.*** - т.е. какому-либо IP адресу. Код:
Код
$reg_host = "[10]+\.[0-9]+\.[0-9]+\.[0-9]";
if (preg_match("$preg_host", $_POST['host']))
    {
      // обрабатываем, вставляем данные в таблицу.
    }
     else
    {
      // выводим сообщение об ошибке.
    }


В ответ получаем:
Цитата
Warning: preg_match() [function.preg-match]: Unknown modifier '+' in c:\Apache\Apache\htdocs\pornftp\addconfig.php on line 11
ну и естественно данные в таблицу не уходят.

Регулярное выражение писал по примеру из самоучителя ТИПА "Проверка адреса e-mail". В книге описывается совсем немного, так что вот решил спросить, в чём тут беда, что не так. Спасибо.
Перейти в начало страницы
 
+Цитировать сообщение
GLUK
сообщение 13.03.2005 - 21:43
El hincha del Real Madrid
*******
орден IV степеникубок за победу в конкурсах Форума
Группа: Участник
Сообщений: 14104
Регистрация: 17.02.2004
Пользователь №: 2321


У тебя переменная называется $reg_host или всё-таки $preg_host ??
Перейти в начало страницы
 
+Цитировать сообщение
Guest_IFL_*
сообщение 13.03.2005 - 21:57
| Быстрая цитата | Сообщение #220


Гости





Цитата(NIK @ 13.03.2005 - 20:22)
нужно проверить вводимые пользователем данные в форму на соответсвие регулярному выражению. Данные должны соответствовать типу: 10.**.***.*** - т.е. какому-либо IP адресу. Код:
Код
$reg_host = "[10]+\.[0-9]+\.[0-9]+\.[0-9]";
if (preg_match("$preg_host", $_POST['host']))
    {
      // обрабатываем, вставляем данные в таблицу.
    }
     else
    {
      // выводим сообщение об ошибке.
    }


В ответ получаем:
ну и естественно данные в таблицу не уходят.

Регулярное выражение писал по примеру из самоучителя ТИПА "Проверка адреса e-mail". В книге описывается совсем немного, так что вот решил спросить,  в чём тут беда, что не так. Спасибо.

ну начнём с того, что в нормальном самоучителя такого рег. выражения не напишут, ибо такое неверно о чём тебе и говорят, я думаю, что в самоучителе наверно что-то и есть про разделители? если нет, то выкинь самоучитель...
]]>http://detail.phpclub.ru/]]> - регулярные выражения
Перейти в начало страницы
 
+Цитировать сообщение

24 страниц V  « < 9 10 11 12 13 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 14.05.2025 - 19:59