1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
1

Вопросы начинающего по РНР

02.10.2010, 23:56. Показов 2992. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скачал книгу Котерова РНР5, поскольку книга в DJVU не все символы качественно отображены. Поставил WAMP и Notepad++. Начал писать код, там есть такой пример как вывод квадратов и кубов числа с переменной i которая меньше 5. Там я так понимаю использован цикл
PHP
1
2
3
4
for ($i=1; $i<=5; $i++)
{
echo "<p>$i в квадрате ".($i*$i);
}
Так пока точку перед ($i*$i) не поставил - выдавало ошибку. Почему эта точка так важна? Также объясните пожалуйста смысл
PHP
1
for ($i=1; $i<=5; $i++)
Это последовательность выполнения заданий через точку кому? Или можно задавать только три задания?
Также сделал вывод времени:
PHP
1
2
$time=date("h.i.s");
echo "Текущее время: $time<br>";
Почему время выводится такое 07.55.52 - в винде по Киеву 22:55.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2010, 23:56
Ответы с готовыми решениями:

Как в текущий файл на рнр подрузить массив из другого файла на рнр?
Мне нужно подгружать массив с данными из mysql одного файла на рнр в текущий файл рнр с выводом...

Почему не работает РНР, не могу запустить ни один скрипт на РНР
Помогите начинающему. Установил Apache и РНР. Апач работает нормально. Проблем нет. А вот с...

Вопросы начинающего
Здравствуйте. Самостоятельно приступила к изучению Visual C++, т.к. наставников в шаговой...

Вопросы начинающего
Надоело создавать кучу топиков. Все вопросики буду лучше задавать тут. Щас не могу разобраться с...

24
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
03.10.2010, 00:15 2
в ПХП с помощью точки можно объединять строки. Скажем так аналог "+".

PHP
1
for ($i=1; $i<=5; $i++)
В данном примере цикл выполнит действие 5 раз, вначале переменой присвоили значение, потом указали условие при котором цикл остановиться, а потом указали действие над переменной. ТОесть i будет увеличиваться на 1


З.Ы: поменяйте книгу
0
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
03.10.2010, 00:16  [ТС] 3
Цитата Сообщение от GORZ Посмотреть сообщение
З.Ы: поменяйте книгу
Почему?? И что делать с временем?
0
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
03.10.2010, 00:23 4
Тэ вопросы которые вы задали, в книгах должны быть хорошо описаны, так как это основы языка
А на счет времени:
PHP
1
2
$time=date("H:i:s");
echo "Текущее время: $time<br>";
0
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
03.10.2010, 00:25  [ТС] 5
Теперь 20:25:14, а по винде 23:25. Что за время такое выдает?
0
31 / 12 / 3
Регистрация: 20.05.2010
Сообщений: 88
03.10.2010, 00:31 6
Вы на локальном сервере тестируете или на хостинге?
0
Благотворец
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
03.10.2010, 02:06 7
1. В PHP символ точка "." является оператором конкатенации (склеивания) строк. Подробнее тут: http://www.php.ru/manual/langu... tring.html
2. Второе - непонятно как не зная самых первых основ программирования вы хотите программировать, потренируйтесь на примерах чисто с циклом.
3. По умолчанию в PHP используется Лондонский часовой пояс, для установки пояса используйте функцию date_default_timezone_set. Список значений для Европы тут - http://www.php.ru/manual/timezones.europe.html.
Пример для Киева date_default_timezone_set("Europe/Kiev");
1
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
03.10.2010, 09:57  [ТС] 8
Цитата Сообщение от arvitaly Посмотреть сообщение
2. Второе - непонятно как не зная самых первых основ программирования вы хотите программировать, потренируйтесь на примерах чисто с циклом.
Основ в смысле чего? Использование циклов в паскале я знаю, проходил.

Добавлено через 37 секунд
Цитата Сообщение от GORZ Посмотреть сообщение
Вы на локальном сервере тестируете или на хостинге?
WAMP сервер
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.10.2010, 10:00 9
Цитата Сообщение от Amator Посмотреть сообщение
Использование циклов в паскале я знаю, проходил.
В таком случае цикл
PHP
1
for ($i=1; $i<=5; $i++)
означает
Pascal
1
2
3
4
5
i := 1;
while i <= 5 do begin
    ...
    inc(i);
end;
1
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
03.10.2010, 11:23  [ТС] 10
Цитата Сообщение от GORZ Посмотреть сообщение
Тэ вопросы которые вы задали, в книгах должны быть хорошо описаны, так как это основы языка
Там написано что это строковый оператор соединение строк, просто там указано что более подробное ее значение будет в следующей главе. Наверное скачаю еще книжку из списка Учебники по PHP - вот только не знаю какую. Там видел рекомендуют Харриса, РНР глазами хакера(только как написано она новичку не подойдет).

Добавлено через 1 час 6 минут
Написал сейчас вот такое
PHP
1
2
3
4
5
class human{};
$person = new human();
$person->name="Petja";
$person->surname="Petkov";
echo "Человек первый ", $person(name), $person(surname);
В последней строчке выдает ошибку
Fatal error: Function name must be a string
Я не могу понять что нужно сделать. Если перевести то выходит такое "Имя функции должно быть строкой". Только мне это ничего не обьяснило.

Добавлено через 12 минут
И как сделать перенос строки как в С++ типа /n. Использование <br> иногда выдает ошибку. И еще - в паскале вывод можно было делать так writeln('Что то', функция, 'Что то'); и так дальше. Использование подобного метода в РНР мне выдает ошибку. Вначале требует поставить кому или точка-запятую, а потом Parse error.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.10.2010, 11:26 11
PHP
1
echo "Человек первый ", $person->name, $person->surname;
Добавлено через 1 минуту
Цитата Сообщение от Amator Посмотреть сообщение
И как сделать перенос строки
PHP
1
echo "\n";
Но в браузере Вы его увидите, как обычный пробел.
PHP
1
echo "<br/>";
1
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
03.10.2010, 15:13  [ТС] 12
Сейчас написал такой бред
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html><body>
MySQL register page
<?php
require_once(config.php);
$query='creat [IF NOT EXISTS] table test(user text, pass bigint)';
$login=string;
$pass=string;
<form method=POST NAME=$login>
<input type=text name=text value="Ваш логин" size=40>
<form method=POST NAME=$pass>
<input type=text name=text value="Ваш пароль" size=40>  
<input type=submit value=Зарегистрироватся>
</form></form>
if (submit)
{$query=insert into test(user pass) values('$login', '$pass');
int mysql_query($query);
echo "Регистрация завершена";
}
else
{
echo "Регистрация не удалась";
}
?>
Брал информацию из книжки и интернета. Не работает( Что где не так сделал и т.п.
Config.php
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$host="localhost";
$user="test";
$pass="test";
$dbname="test";
$query=string;
int mysql_query($query);
mysql_connect($host, $user, $pass) or die("Не могу подключится: ".mysql_error());
mysql_select_db($dbname) or die("Не могу выбрать БД: ".mysql_error());
?>
Добавлено через 1 час 0 минут
На код пока что не обращайте внимания - практически полностью переделываю.
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
03.10.2010, 20:36 13
скачай такую книженцию:
Строганов, Ваш первый сайт на PHP.djvu
, там подробно код разбирается для каждого скрипта
0
Благотворец
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
04.10.2010, 00:30 14
Не знаю в какой книжке такое пишут, но все - ересь, даже исправить нечего
0
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
07.10.2010, 00:26  [ТС] 15
Сейчас написал вот такой файлик sqr.php
PHP
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
<html><head>
<title>Решение квадратных уравнений</title>
</head>
<body>
<?php
if ($_SERVER['REQUEST_METHOD']=="POST")
{
$a=$_POST['a'];
$b=$_POST['b'];
$c=$_POST['c'];
$D=$b*$b-4*$a*$c;
if ($D>0)
{
$x1=(-$b+sqrt($D))/(2*$a);
$x2=(-$b-sqrt($D))/(2*$a);
echo "Переменная x<sub>1</sub>=(-$b+sqrt($D))/(2*$a)=$x1<br>
Переменная x<sub>2</sub>=(-$b-sqrt($D))/(2*$a)=$x2<br>";
}
else
{
if ($D==0)
{
$x=(-$b+sqrt($D))/(2*$a);
echo "Переменная x<sub>1</sub>=(-$b+sqrt($D))/(2*$a)=$x1<br>";
}
else
if ($D<0)
{
echo "Уравнение решить невозможно";
}}
echo '
Введите коэфициенты квадратного уравнения вида ax<sup>2</sup>+bx+c=0
<br><form action="sqr.php" method="POST">
Введите a <input type="text" name="a" value="" />
<br>
Введите b <input type="text" name="b" value="" />
<br>
Введите c <input type="text" name="c" value="" />
<br>
<input type="submit" name="ok" value="Решить" />
';
?>
</body></html>
Не могу понять что не так. Выдает ошибку на 43 линии.
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.10.2010, 00:43 16
скобка не закрыта
0
Благотворец
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
07.10.2010, 00:44 17
какую
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.10.2010, 00:49 18
arvitaly, я как понимаю там выводится ошибка связанная с концом
типа такая
..............end.......................
0
Благотворец
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
07.10.2010, 01:59 19
PHP
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
<html><head>
<title>Решение квадратных уравнений</title>
</head>
<body>
<?php
if ($_SERVER['REQUEST_METHOD']=="POST")
{
    $a=$_POST['a'];
    $b=$_POST['b'];
    $c=$_POST['c'];
    $D=$b*$b-4*$a*$c;
    if ($D>0)
    {
        $x1=(-$b+sqrt($D))/(2*$a);
        $x2=(-$b-sqrt($D))/(2*$a);
        echo "Переменная x<sub>1</sub>=(-$b+sqrt($D))/(2*$a)=$x1<br>
        Переменная x<sub>2</sub>=(-$b-sqrt($D))/(2*$a)=$x2<br>";
    }
    else
    {
        if ($D==0)
        {
            $x=(-$b+sqrt($D))/(2*$a);
            echo "Переменная x<sub>1</sub>=(-$b+sqrt($D))/(2*$a)=$x1<br>";
        }
        else
        if ($D<0)
        {
            echo "Уравнение решить невозможно";
        }
    }
 
}
    echo '
    Введите коэфициенты квадратного уравнения вида ax<sup>2</sup>+bx+c=0
    <br><form action="sqr.php" method="POST">
    Введите a <input type="text" name="a" value="" />
    <br>
    Введите b <input type="text" name="b" value="" />
    <br>
    Введите c <input type="text" name="c" value="" />
    <br>
    <input type="submit" name="ok" value="Решить" />
    ';
?>
</body></html>
1
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
07.10.2010, 18:28  [ТС] 20
А где ошибка то была?? Скажите номер строки.
0
07.10.2010, 18:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2010, 18:28
Помогаю со студенческими работами здесь

Вопросы начинающего
Здравствуйте в С++ я еще новичок, поэтому, если позволите то я задам несколько вопросов -class A:...

Вопросы начинающего
Всем привет! Начинаю изучать Visual C++ 2010 Express. Пишу под Win32 (поддержки MFC в экспресс...

Банальные вопросы начинающего
Тренируюсь, выполняю простенькие задачки. По сути надо сделать MDI-приложение, которое позволяет...

Глупые вопросы начинающего
Кризис заставляет повышать квалификацию. Сейчас действительно везде требуется знание 1С. Накачал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru