Помогите с: Интегрировать Php в Html

  • Автор темы Vadim32
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

Vadim32

#1
Здравствуйте,

Дан HTML файл (index.html) c кодом внутри:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Code html</div></div><div class="sp-body"><div class="sp-content">
<html>
<head><title>My first HTML doc</title><head>
<body>
<a href="More explaneble.html">
<img src="lamp1.jpg" width="1270" height="180" alt="The picture which
says to you what is pic's about LAMP" boarder="0" />
<a/>
<p><h3>Hello on my HTML page</h3></p>
<p><h5>I wold like to show myself what I can do with my first HTML
knowleage<br />
Thank you that you wath it</p>
<p><h4>I would like to present on my webpage things are:</h4>
<ol>
<li>PHP script, right down next</li>
</ol>
<ol>
<li>LAMP (If you want to get to know what is LAMP is click <a
href="lamp.html" title= "All about LAMP. Just click it">here</a>)</li>
</ol>
<ol>
<ul>
<li>PHP</li>
<li>Linux</li>
<li>Apahe</li>
<li>MySQL</li>
</ul>
</ol>
<ol>
<li>Flash</li>
<li>HTML</li>
</ol>
</body>
</html>


Дан PHP код:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Code php</div></div><div class="sp-body"><div class="sp-content"> <?php
define ("number", 2);
$var_one = "The total is";
$var_two = 3;
$var_tree = number+$var_two;
echo "My screen telling me that: ",$var_one," ",$var_tree-$var_tree+number;
?>

В итоге файл index.html имеет вид:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Code configured</div></div><div class="sp-body"><div class="sp-content"><html>
<head><title>My first HTML doc</title><head>
<body>
<a href="More explaneble.html">
<img src="lamp1.jpg" width="1270" height="180" alt="The picture which
says to you what is pic's about LAMP" boarder="0" />
<a/>
<p><h3>Hello on my HTML page</h3></p>
<p><h5>I wold like to show myself what I can do with my first HTML
knowleage<br />
Thank you that you wath it</p>
<p><h4>I would like to present on my webpage things are:</h4>
<ol>
<li>PHP script, right down next</li>
</ol>
<?php
define ("number", 2);
$var_one = "The total is";
$var_two = 3;
$var_tree = number+$var_two;
echo "My screen telling me that: ",$var_one," ",$var_tree-$var_tree+number;
?>
<ol>
<li>LAMP (If you want to get to know what is LAMP is click <a
href="lamp.html" title= "All about LAMP. Just click it">here</a>)</li>
</ol>
<ol>
<ul>
<li>PHP</li>
<li>Linux</li>
<li>Apahe</li>
<li>MySQL</li>
</ul>
</ol>
<ol>
<li>Flash</li>
<li>HTML</li>
</ol>
</body>
</html>

Apache не обрабатывает php код, следовательно нет результата выполнения php кода в браузере. Почему? Где ошибка?

Спасибо.
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
1.А вы настроили php вообще?
если да то
2. А настроен ли апач так, что бы обрабатывать пхп код в файлах с расшиернием html?
если да то
2а. Магия
если нет то
2б.Смените расишрение на .php
 

acorn

PHP Developer
29.08.2004
585
3
#4
обычно делают наоборот, отделяя крупу от козявок.
 
V

Vadim32

#5
Скажите пожалуйста я в PHP новичек пробую работать с языком вот я не как не пойму в чем ошибка в этом коде?


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">PHP code</div></div><div class="sp-body"><div class="sp-content"><html>

<?php


$massive = array("Welcome" , "Bye" , "Hello");
$k = 0;

while ($massive[$k] <= "Bye") {

if ($massive[$k] == "Bye") {

echo "This message stoped on second element of massive";


}



}

$k++;

?>



</html>


Поедее должен найти в массиве слово "Bye" и показать в браузере/ Но там обычный "белый лист"

Подскажите пожалйуста в чем проблема?
 

hosm

* so what *
18.05.2009
2 442
6
#6
надо поменять 2 строчки местами... $k++; поставить до скобки...
и эт непонятно как работать будет - $massive[$k] <= "Bye". почитайте про сравнение строк (я пхп не знаю, если че)
лучше как-то так)))
Код:
foreach ($massive as $massiveval) {
if ($massiveval== "Bye") {
echo "This message stoped on second element of massive ";
echo $massiveval;
}
или просто цикл со сравнением элементов массива
for ($k=0;$k<count($massive);$k++)
 
V

Vadim32

#7
спасибо сделал так:


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Сode right here</div></div><div class="sp-body"><div class="sp-content"><html>

<?php


$massive = array("Welcome" , "Bye" , "Hello");
$per = "";
$k = 0;


$k++;
while ($per <= "Bye") {

if ($massive[$k] == "Bye") {

echo $k;
break;

}



}



?>



</html>


Все работает. Он считывает элемент массива "Bye" который под номером 1 идет т.к элемент массива начитаюстя с 0, то выводит в моем случает 1 или же просто можно вписать что бы вместо 1 выводил какое-нибудь словестное выражение.

Спасибо.
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#8
Вы занимаетесь извращенством. 1. Для прохода массива в цикле - изайте foreach() там тетя правильно вам подсказала.
2. ознакомьтесь в мануале с функциями array_что-то-там()
Вашу задачу можно решить встроенными функциями в 2 строки.
 
V

Vadim32

#9
Парни помогите с вопросом.

Есть файл для создания форм:


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Code для Form.inc</div></div><div class="sp-body"><div class="sp-content"><HTML>


<HEAD>

<TITLE>Learning form\\\\\\\'s</TITLE>

</HEAD>


<BODY>

<?php

class Form {

var $fields=array();
var $processor;
var $submit = \\\\\\\"Send data\\\\\\\";
var $Nfield = 0;

function __construct($processor, $submit) {

$this->processor = $processor;
$this->submit = $submit;

}

function displayForm()

{

echo \\\\\\\"form action=\\\\\\\'{$this->processor}\\\\\\\' method=\\\\\\\'post\\\\\\\'>\\\\\\\";
echo \\\\\\\"<table width=\\\\\\\'100%\\\\\\\'\\\\\\\";
for ($j=1; $j<=sizeof($this->fields); $j++)

{

echo \\\\\\\"<tr><td aling=\\\\\\\\\\\\\\\"right\\\\\\\\\\\\\\\"> {$this->fields[$j-1][\\\\\\\'label\\\\\\\']}:</td>\\\\\\\\n\\\\\\\";
echo \\\\\\\"<td>
<input type=\\\\\\\'text\\\\\\\' name=\\\\\\\'{$this->field[$j-1][\\\\\\\'name\\\\\\\']}\\\\\\\'> </td><tr>\\\\\\\\n\\\\\\\";

}


echo \\\\\\\"<tr><td colspan=2 aling=\\\\\\\'center\\\\\\\'>
<input type=\\\\\\\'submit\\\\\\\' value=\\\\\\\'{$this->submit}\\\\\\\'></td></tr>/n\\\\\\\";
echo \\\\\\\"</table>\\\\\\\";

}

function addField($name, $label)

{

$this->fields[$this->Nfields][\\\\\\\'name\\\\\\\'] = $name;
$this->fields[$this->Nfield][\\\\\\\'lable\\\\\\\'] = $label;
$this->Nfields= $this->Nfields+1;

}

}


?>

</BODY>


</HTML>


И есть файл создания сценари я формы для класса Form:


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Code для BuildForm.php</div></div><div class="sp-body"><div class="sp-content"><HTML>


<HEAD>

<TITLE>Result</TITLE>

</HEAD>


<BODY>

<?php

require_once(\\\\\\\"/usr/share/php5/Form.inc\\\\\\\");
echo \\\\\\\"<html<head><title>Form for additing phone number</title></head><body>\\\\\\\";
$phone_form = new Form(\\\\\\\"process.php\\\\\\\", \\\\\\\"Send information\\\\\\\");
$phone_form->addField(\\\\\\\"first_name\\\\\\\", \\\\\\\"Name\\\\\\\");
$phone_form->addField(\\\\\\\"last_name\\\\\\\", \\\\\\\"Family\\\\\\\");
$phone_form->addField(\\\\\\\"phone\\\\\\\", \\\\\\\"Number of phone\\\\\\\");
echo \\\\\\\"<h3>Please,fill form</h3>\\\\\\\";
$phone_form->displayForm();
echo \\\\\\\"</body></html>\\\\\\\";

?>

</BODY>



</HTML>


Далее, запускаю файл buildForm.php и выводит мне такой результат:

http://imglink.ru/show-image.php?id=208bb7...a2e450eebc17e84

Хотя должен выводить такой результат:

http://imglink.ru/show-image.php?id=8faba7...eeb633f1f967296

При нажатии кнопки Отправить а в моем случае это Send Information должна отправляться введенная инфлрмация, НО! этого не происходит. Почему??

Я помню когда в файле php.ini менял папку для файлов включения, там есть графа Include path = \\\\\\\"каталог для файлов\\\\\\\" НО! я же её указал и в моем файле buildForm.php

В чем проблема подскажите пожалуйста.

И меня интересует что такое process.php в файле buildForm.php,

а именно:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Строка</div></div><div class="sp-body"><div class="sp-content">$phone_form = new Form(\\\\\\\"process.php\\\\\\\", \\\\\\\"Send information\\\\\\\");

Cпасибо.
 

1ive

Well-known member
12.09.2010
621
1
#10
Вы же делаете все по учебнику.
У авторов получилось - у вас нет.
С чего бы?Может ошибка?

Добавлено:
И что за "\\\\\\\" в коде?. Хватит вполне и одного слеша для экранирования кавычек

Тупой, ужасный ГОВН*КОД
 

1ive

Well-known member
12.09.2010
621
1
#11
1.Раз учитесь, разбирайте каждую строку и читайте комментарии!
2.Насчет "require_once" - вы включаете между тегами <body></body> одного html документа другой..
В итоге в браузере будет что-то подобное:
Код:
<html>
<head></head>
<body>
<html>
<head>
</head>
<body>
// + после выполнения echo "<html<head><title>Form for additing phone number</title></head><body>";
<html<head>
<title>Form for additing phone number</title> 
</head>
<body>
</body>
</html>
</body>
</html>
3."/usr/share/php5/Form.inc" - файл должен включаться отностительно исполняемого. (т.е. если они в одной папке то должно быть "/Form.inc"

Тупой, ужасный ГОВН*КОД
 

1ive

Well-known member
12.09.2010
621
1
#12
Я не вижу разницы между двумя скриншотами(вашим, и из учебника).
Они совершенно идентичны внешне.
Если вы имеете ввиду язык надписей - это зависит от тоо что захотите написать вы.
В учебнике "Пожалуйста, заполните поля", у вас "Please, fill form"
зависит от того,что написано здесь:
Код:
echo "<h3>Please,fill form</h3>";
Насчет подписей полей - так вы их нее подписали, чего вы хотите?

Тупой, ужасный ГОВН*КОД
 
V

veshkin

#14
Помогите с интеграцией.
Вот сылка полность на файлы (сылка), но к сожелению когда нижимаю отправить то показивает ответ только код пхп, знания в програмировании минимальные.
 
K

Kauperwood

#16
Уровень 1:
Код:
<HTML>


<HEAD>

<TITLE>Learning form\\\\\\\'s</TITLE>

</HEAD>


<BODY>

<?php

class Form {

var $fields=array();
var $processor;
var $submit = \\\\\\\"Send data\\\\\\\";
var $Nfield = 0;

function __construct($processor, $submit) {

$this->processor = $processor;
$this->submit = $submit;

}

function displayForm()

{

echo \\\\\\\"form action=\\\\\\\'{$this->processor}\\\\\\\' method=\\\\\\\'post\\\\\\\'>\\\\\\\";
echo \\\\\\\"<table width=\\\\\\\'100%\\\\\\\'\\\\\\\";
for ($j=1; $j<=sizeof($this->fields); $j++)

{

echo \\\\\\\"<tr><td aling=\\\\\\\\\\\\\\\"right\\\\\\\\\\\\\\\"> {$this->fields[$j-1][\\\\\\\'label\\\\\\\']}:</td>\\\\\\\\n\\\\\\\";
echo \\\\\\\"<td>
<input type=\\\\\\\'text\\\\\\\' name=\\\\\\\'{$this->field[$j-1][\\\\\\\'name\\\\\\\']}\\\\\\\'> </td><tr>\\\\\\\\n\\\\\\\";

}


echo \\\\\\\"<tr><td colspan=2 aling=\\\\\\\'center\\\\\\\'>
<input type=\\\\\\\'submit\\\\\\\' value=\\\\\\\'{$this->submit}\\\\\\\'></td></tr>/n\\\\\\\";
echo \\\\\\\"</table>\\\\\\\";

}

function addField($name, $label)

{

$this->fields[$this->Nfields][\\\\\\\'name\\\\\\\'] = $name;
$this->fields[$this->Nfield][\\\\\\\'lable\\\\\\\'] = $label;
$this->Nfields= $this->Nfields+1;

}

}
?>
</BODY>
</HTML>
рекомендую забыть про html в .php файлах, потому что:
1. Растет лес, и такой он неповторяемый, что можно заблудится и потерять время и будет дольше зажигаться костер "нужного состояния", задуваемый ветром путаниц. При всем том, что зная свой код из леса вы наверно выход вскоре найдете и продолжите.
2. знания, умея приспосабливаться к новым технологиям обильно растет уровень квалификации который необходим для более сложных задач.
3. масштабируемый проект, представьте что ваш сайт должен быть на другом языке, когда используется технология шаблонизации, будет меньше забот.

Да и про ООП, есть такая мысль про использование обычного подхода к написанию кода с последующей его модернизацией как перспективу общую к изучению новых технологий в том числе рефакторинг.
 
Статус
Закрыто для дальнейших ответов.