Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2010, 18:20   #1
Ysman
 
Регистрация: 10.08.2010
Сообщений: 5
По умолчанию Не хочет выполнять скрипт

Я пока учусь)
У меня проблемы с работой скриптов.
Вобщем При нажатии на конопку в созданных формах браузер просто выдает код программы, ничего не делая. Помогите, пожалуйста! заранее благодарен.
Вот пример.
Форма:
Цитата:
<form action="Неназванный 2.php" method="post">
Создать <br /><input type="radio" name="art_create" value="ART"/> Статью
<br /><input type="radio" name="pers_create" value="PERSON"/> Человека
<br /><input type="submit" name=$send value="Отправить"/>
<input type="text" />
</form>
Скрипт: Неназванный 2.php
Цитата:
<?php
class person{
var $name='Имя ';
var $secondname='Второе имя';
var $datebirth='Дата рождения';
function make_person($n,$sn,$db) {
$this->name=$n;
$this->secondname=$sn;
$this->datebirth=$db;
}
function show_person(){
$sp='Имя '.$this->name.'<br>Фамилия '.$this->secondname.'<br>Дата рождения '.$this->datebirth.'<br>';
echo $sp;
}
}
class Article {
var $title='Название';
var $author='Автор';
var $description='Описание';
function Article($t='Название статьи отсутствует',$a='Автор отсутствует',$d='Описание отсутствует'){
$this->title = $t;
$this->author = $a;
$this->description = $d;
return true;
}
function show(){
$art = "<h2>$this->title</h2><font
size=-1>$this->description</font><p>Автор:
$this->author</p>";
echo $art;
}
}
if (isset($_POST["art_create"])){
$art= new Article;
$art_vars = get_class_vars(get_class($art));
if (!isset($_POST["show"])) {make_form('art');}
list($art->title,$art->author,$art->description)=$art_array;
if (isset($_POST["show"])) {
$art->show();
}
}
if (isset($_POST["pers_create"])){
$pers= new Person;
$pers_vars = get_class_vars(get_class($pers));
if (!isset($_POST["show"])) {make_form('pers');}
list($pers->name,$pers->secondname,$pers->datebirth)=$pers_array;
if (isset($_POST["show"])) {
$pers->show();
}
}
function make_form($class){
static $vars,$var,$value,$str;
$vars = get_class_vars($class);
$str='<form action="Неназванный 2.php" method="post">';
foreach ($vars as $var=>$value){
$str.="$value <input type=\"text\" name=\"$class"."_array"."[]\"/>";
}
$str.="<input type=\"submit\" name=\"show\" value=\"show\"/>";
$str.="</FORM>";
echo $str;
}
?>
Изза этого не могу проверить правильность написания программы))) В смысле могу, конечно, но постоянно переименовывать переменные мне надоело, да и эта прога, как видно, выводит новую форму, поэтому весь процесс долгий м нудный

Последний раз редактировалось Ysman; 10.08.2010 в 18:27.
Ysman вне форума Ответить с цитированием
Старый 10.08.2010, 18:54   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Я пока учусь)
Учится начинают обычно с простых вещей - а у вас тут классов навалено....
Форма:
1.form action="Неназванный 2.php" - это,безусловно, круто...!!!(скорее всего тут проблема)
2.name=$send - и что за $send ?
3.<input type="text" /> - это зачем?

Скрипт: Неназванный 2.php - (...я не могу)))))...):
1.class person - а объект создаём $pers= new Person;
2.$str='<form action="Неназванный 2.php" method="post">'; - опять...
3.Уж если начали так: $str='<form - то и заканчивайте в нижнем регистре (у вас: $str.="</FORM>"; )
4.Это просто чтоб всех запутать кавычками:
PHP код:
$str.="$value <input type=\"text\" name=\"$class"."_array"."[]\"/>"
Почему бы не сократить число кавычек:
PHP код:
$str.="$value <input type=\"text\" name=\"{$class}_array[/* тут нужно указать идентификатор элемента массива(счётчик хотя бы) */]\" />"
Вообще - честно говоря - зря вы так "учитесь"...
"От простого - к сложному" - вот самый правильный путь.
Andkorol вне форума Ответить с цитированием
Старый 10.08.2010, 19:04   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

И,кстати, зря вы :
1.либо зря вы указываете value в radio-баттонах(потому как в таком случае можно выбрать оба варианта - а radio-баттоны обычно не для этого...)
2.либо зря используете radio-баттоны - если хотите иметь возможность множественного выбора - используйте checkbox-ы.

PS : от простого - к сложному,потому как странно уметь писать классы,при этом путаясь в формах...
Andkorol вне форума Ответить с цитированием
Старый 10.08.2010, 23:42   #4
Ysman
 
Регистрация: 10.08.2010
Сообщений: 5
По умолчанию

Цитата:
<input type="text" /> - это зачем?
Да это я случайно влепил) видимо проверял че то.
Да я вот по курсу обучаюсь
Интуит
и там вот параграф объекты и классы. Мне вообще интересно, какое место имеет php в веб программировании? Ну то есть насколько глубоко следует его изучать?Ведь в инете куча всяких шаблонов есть.
Ysman вне форума Ответить с цитированием
Старый 10.08.2010, 23:55   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
и там вот параграф объекты и классы.
Да,только он по счёту 6-й,а как раз в 4-ом - более-менее подробно и обстоятельно про формы и запросы...
Курс-то ведь тоже не просто так сформирован в определённой последовательности.
Цитата:
Мне вообще интересно, какое место имеет php в веб программировании? Ну то есть насколько глубоко следует его изучать?Ведь в инете куча всяких шаблонов есть.
Об этом - в самой первой лекции.

Вообще,курс так себе,честно говоря....Есть ошибки,как синтаксические,так и логические.
Многие вещи можно сделать проще и удобнее - но,возможно это с целью простоты изучения так сделано.
Посмотрите первый раздел данного форума - там достаточно хорошей литературы по PHP,ознакомьтесь - так вам будет с чем сравнивать ваш курс.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой скрипт с getElementById не хочет работать в FireFox crystalbit JavaScript, Ajax 2 10.06.2010 12:24
Выполнять удаление строки по условию Apostolx Microsoft Office Excel 2 21.10.2009 20:55
Выполнять пока не... HTL Общие вопросы Delphi 9 28.07.2009 15:54
как заставить программу выполнять функции винды? korgik Общие вопросы C/C++ 3 25.07.2008 12:28
Delphi 7 перестал выполнять процес компиляции!!! aesoem Общие вопросы Delphi 5 07.04.2008 10:44