Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Открыть новую тему     Написать ответ в эту тему

ManderX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поставил PHP и APACHE.  
написал index.html:  
<html><body> <form action=test.php> Name: <input type=text name="name"><br>  
Year: <input type=text name="year"><br> <input type=submit value="ГОТОВО"> </form>  
</body></html>  
И test.php в том же каталоге:  
echo "$name i $year";  
выполняю, говорит, что переменыее undefined  
в чём трабла??? и ещё гдя взять extensions???




Цитата:
 
Внимание!
 
Эта тема будет закрыта, поэтому по конкретным вопросам по PHP
создаём новые темы, либо используем существующие (один вопрос — одна тема)

Кто-нибудь пытался что-то в этих сeмидесяти страницах найти?
 
В этой теме только отвечаем на оставшиеся без ответа вопросы...

 
 

Всего записей: 84 | Зарегистр. 11-06-2002 | Отправлено: 05:36 11-06-2002 | Исправлено: Svarga, 04:17 23-07-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xntx

Цитата:
ereg("^(http|https)://([A-Za-z0-9][A-Za-z0-9_-]*)(\.[A-Za-z0-9][A-Za-z0-9_-]*)+$", $url, $trashed);  

 
Разбираем.
(http|https) - определяем протокол.
([A-Za-z0-9][A-Za-z0-9_-]*) - 1-ый - префикс домена (проще говоря, домен третьего уровня, если есть)
(\.[A-Za-z0-9][A-Za-z0-9_-]*)+$ - 2-ой - все что осталось до конца описания доменного имени.
 
далее ...
 
в $trashed создаются строки с индексами 0...n с кусками текста.
$trashed[0] - содержит всю строку $url;
$trashed[1] - http или https
$trashed[2] - 1-ый префикс домена.
....
$trashed[n]
 
 


----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 04:10 09-04-2003
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ASteel
да эт я понял...
меня интересовало как это он смотрит A-Za-z0-9 , если он смотрит по три сомвола, то что означает _- ? a звездочка после квадратной скобки?
 
Добавлено

Цитата:
(http|https) - определяем протокол.  

ток я так понял что это не протокол определяем, а это ставим то , на что может начинатся.
это даже и не линк может быть, какой протокол?

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 17:59 09-04-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xntx

Цитата:
A-Za-z0-9 , если он смотрит по три сомвола, то что означает _- ? a звездочка после квадратной скобки


Цитата:
([A-Za-z0-9][A-Za-z0-9_-]*)

^^^
Ты это имеешь ввиду?
Если да, то смотри. Насколько я помню, строка в урле не может начинаться с "_" или "-" за это отвечает первая квадратная скобка (читается как любой из символов от A до Z в любом регистре или любая цифра)(на мой взгляд лучше было бы использовать eregi(), тогда первая скобка будет выглядеть так [a-z0-9]), но может эти символы содержать (за это отвечает вторая скобка).  
И потом, почему только три символа? * - как раз и показывает, что их может быть от 0 и до n.  Вот тебе пример:

Цитата:
 
http://forum.ru-board.com
 

forum - 5 символов.  

----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 00:23 10-04-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2all
 
три вопроса:
 
1. для чего конкретно служит символ
Код:
/n
. Мне известно его следующее предназначение: он посылает в браузер команду начать новую HTML-строку, тогда можно ли обойтись без него? Разве php сам не переходить со строки на строку?
2. не работает выведение на экран, набранных в html-форме символов. Есть html-форма - form.html, есть сценарий php handleform.php
набираю в form.html:

Код:
<html>
<head>
<title>HTML Form</title>
</head>
<body>
<form action="handleform.php" method=post>
First name <input type=text name="FirstName" size=20><br>
Last name <input type=text name="LastName" size=40><br>
E-mail address <input type=text name="Email" size=60><br>
Comments <textarea name="Comments" rows=5 cols=40></textarea><br>
<input type=submit name="Submit" value="Submit!">
<input type="reset" name="Clean" value="Reset!">
</form>
</body>
</html>
 

в handleform.php пишу:

Код:
 
<html>
<head><title>Form results</title></head>
<body>
<?php
print ("Your first name is $FirstName.<br>\n");
print ("Your last name is $LastName.<br>\n");
print ("Your e-mail address is $Email.<br>\n");
print ("This is what you had to say:<br>\n $Comments<br>\n");
?>
</body>
</html>
 

переход к сценарию виден, а набранных в форму значений нет
 
3. есть файлик, называется 1st.php. В нем написано:

Код:
 
<html>
<head>
<title>1st PHP script</title>
</head>
<body>
<?php
 
print ("<h2><b><center>Hello, $name.</center></b></h2>\n");
 
?>
</body>
</html>
 

 
пишу урл

Код:
 
http://localhost/1st.php?name=World
 

 
он должен выдавать
Цитата:
Hello, World.

а получается просто
Цитата:
Hello,.

 
 (все делаю на локалхосте)

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 18:52 10-04-2003
Slippery



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Excell

Цитата:
Мне известно его следующее предназначение: он посылает в браузер команду начать новую HTML-строку, тогда можно ли обойтись без него? Разве php сам не переходить со строки на строку?

этот символ перехода на новую линию (но не HTML) т.е. чарактер ASCII 10  ( в php можно написать его как chr(10)), а  новую HTML-строку делает  <BR> - не надо путать эти вещи
 
по поводу второго и третьего вопросов проблема в том что надо выставить в php.ini
переменную register_globals = On или во втором случае писать
Код:
$_POST['FirstName']  и $_POST['FirstName']  
,а в третьем
Код:
 $_GET['name']


----------
... - говорите, говорите, я всегда зеваю, когда мне интересно!
---
халявный генератор анимации на мобилу

Всего записей: 326 | Зарегистр. 31-10-2002 | Отправлено: 19:42 10-04-2003
Amur



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, господа!
Есть у меня к вам вопрос такой:
У меня есть база MySQL и тебица в ней такая:
 
CREATE TABLE `balance` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `itemnamerus` varchar(100) default '',
  `itemnameeng` varchar(100) default '',
  `itemdate` int(5) default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;  
 
Так вот, когда я кидаю запрос в эту базу (пустую) и прошу вывести результат,
 
$RequestString = "SELECT MAX(itemdate) FROM balance";
$result = mysql_query($RequestString);
$IsResult = @mysql_num_rows($result);
 
if($IsResult)
{
 print "Результат есть!!!\n";
}
 
 скрипт отрабатывает по циклу.(хотя не должен - база-то пустая!)
Я так понял, что дело в том, что запрос возвлащает 'NULL'
Тогда я переделал скрипт:
 
$RequestString = "SELECT MAX(itemdate) FROM balance";
$result = mysql_query($RequestString);
$IsResult = @mysql_num_rows($result);
 
if($IsResult && !is_null(mysql_result($result, 0)))
{
 print "Результат есть!!!\n";
}
 
стало все нормально.
В чем прикол? Я не хочу чтобы база мне возвращала 'NULL'
Это возможно?

Всего записей: 27 | Зарегистр. 04-11-2002 | Отправлено: 10:04 11-04-2003 | Исправлено: Amur, 10:07 11-04-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Amur,
А что она тебе должна возвращать, если максимальное значение itemdate в таблице в данный момент равно NULL? ...и переменных лишних много назначаешь (ну, это уже на мой взгляд).

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 10:14 11-04-2003
Amur



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
... и переменных много назначаешь

это каких, например?

Всего записей: 27 | Зарегистр. 04-11-2002 | Отправлено: 11:07 11-04-2003 | Исправлено: Amur, 11:09 11-04-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это:
Код:
$RequestString = "SELECT MAX(itemdate) FROM balance";  
$result = mysql_query($RequestString);  
$IsResult = @mysql_num_rows($result);  
 
if($IsResult)  
{  
 print "Результат есть!!!\n";  
}  
...можно заменить на это:
Код:
$q=mysql_query("SELECT MAX(itemdate) FROM balance") or die(mysql_error());
if(mysql_num_rows($q)) {echo("Результат есть!!!\n");};
..имхо гораздо короче ))

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 11:30 11-04-2003
Amur



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
..имхо гораздо короче ))

Согласен.
у меня еще вопросик:
есть 2 версии сайта : русская и английская
Хочу сделать скриптик, который анализируя какая это версия( русская и английская),
выдавал бы результаты на нужном языке.
Я подумал - и не нашел ничего лучшего как в начале скрипта сделать проверку
 
 if (isset($Language))
 {
  if ($Language == "eng")
  {
    //Массив английских переменных
  }
   else
   {
    //Массив русских переменных
    }
потом идет сама html со встроенным PHP кодом и подставленными значениями из массивив.
Проблема в том, что этот самый PHP-код выгребает данные из 3 разных баз (6 запросов)
да и массив переменных ~ 15 штук.
Не будет ли этот скрипт слишком громоздким(я слышар, PHP с большими скриптами плохл работает)??????

Всего записей: 27 | Зарегистр. 04-11-2002 | Отправлено: 11:46 11-04-2003
VolxV

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
include ('lang/'.($Language?$Language:'eng').'.php');

Всего записей: 898 | Зарегистр. 01-06-2001 | Отправлено: 11:54 11-04-2003
Amur



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
include ('lang/'.($Language?$Language:'eng').'.php');

а что мне это даст?
просто изменение месторасположения данных

Всего записей: 27 | Зарегистр. 04-11-2002 | Отправлено: 12:11 11-04-2003
VolxV

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Меньшее количество "if" и бОльшую гибкость.

Всего записей: 898 | Зарегистр. 01-06-2001 | Отправлено: 12:15 11-04-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Amur,
Храни в rus.php массив русских переменных, а в eng.php - английских. И в зависимости от значения $language будет подключаться нужный файл.
 
Добавлено
VolxV,
Что-то я маленько запоздал... но вроде моя трактовка тоже сгодится..

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 12:17 11-04-2003
Amur



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sergeant
VolxV
Спасибо, господа.
А на скорость загрузки это как-нибудь повлеяет?

Всего записей: 27 | Зарегистр. 04-11-2002 | Отправлено: 12:32 11-04-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Slippery

Цитата:
или во втором случае писать  
Код:$_POST['FirstName']  и $_POST['FirstName']  
,а в третьем
Код: $_GET['name']  

это где писать??

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 14:56 11-04-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Excell,
После сабмита формы.
 
Amur,
Предложенный VolxV вариант должен работать быстрее..

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 20:21 11-04-2003
rasta_man



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такой вопрос... есть функции
function main($var)
{ echo "<i>".$var."</i>"; }
 
 
function slave()
{ echo "test"; }
 
при запросе main('test'); ... test отображается курсивом... а вот если использовать так main(slave());  , то браузер выводит такую штуку : test <i></i> ... почему ?

Всего записей: 7 | Зарегистр. 29-01-2003 | Отправлено: 03:04 12-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rasta_man
Потому что сначала выполняется функция slave и выводит test, а потом функция main с пустым параметром, так как slave ничего не возвращает.
Сделаешь вот так и сработает:

Код:
 
function main($var)  
{ echo "<i>".$var."</i>"; }  
 
function slave()  
{ return "test"; }  
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:13 12-04-2003
8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто может мне объяснить, что это за конструкция такая:

Код:
 
$name="bar";
$data= file ("${name}_var"};
 

другими словами что такое:

Код:
${name}_var

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 13:34 12-04-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru