Проблема с формой, запуск после ввода значений

Seregarival

Новичок
Проблема с формой, запуск после ввода значений

PHP:
<?php
header("Content-type: text/html");
$m1 = array ("a", "b", "c", "d", "e");
$m2 = array ("*", "/", "+", "-");
$m3 = array ("(", ")");

$i1 = rand(0,3);
$i2 = rand(0,3);
$i3 = rand(0,3);
$i4 = rand(0,3);
$v1  = array ("$m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4]",
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4]",
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4]",
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]",
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4]",
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]",
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])",
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]($m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]",
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]($m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])",
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4])",
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]($m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]",
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]($m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])",
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4])",
"$m1[0]$m2[$i1](($m1[1]$m2[$i2]$m1[2])$m2[$i3]($m1[3]$m2[$i4]$m1[4]))",
"($m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4])",
"($m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4])",
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4]))");
$i = rand(0,16);
print('<center><b><font size="5" color="red">Система генерации случайного арифметического выражения, построение постфиксной и префиксной польской записи, построение дерева арифметического разбора выражения </font></center></b><br>');
print('<hr size=3 color=red></hr>'); 
print('<br>');
/*$im = @imagecreate(110, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagepng($im);
imagestring($im, 1, 5, 5,  "A!!", $text_color);
imagedestroy($im);*/
print('<font size="3" color="red">Созданное выражение:</font><br><br>');
print($v1[$i]); print('<br>');
$formula=$v1[$i];
print('<font size="3" color="red">Переведите выражение в постфиксную и префиксную запись:</font><br><br>');
print ('<html><body>
<form action="index.php" method="Get">
Постфиксная запись: <input type="text" Name1="Name1" /><br />
Префиксная  запись: <input type="text" Name2="Name2" /><br />
<input type="Submit" />
</form></body></html>');
include 'polzap.php';
?>
Подскажите пожалуйста, как правильно сделать чтобы строка include 'polzap.php'; выполнялась в том же окне(то есть чтобы оно не перезапускалось, а оставались все старые данные), и только после нажатиЯ кнопки отправить ....
 

Seregarival

Новичок
Спасибо большое! )))
Удачи мне в 5-дневном поиске.... Куча учебников по PHP, такие моменты нигде не описаны, а если описаны, то в косвенной форме как-то ...
 

dimagolov

Новичок
Seregarival, это КРАТКОЕ изложение что такое PHP и где и когда он исполняется. Как прочтешь, так поймешь, что твое "строка include 'polzap.php'; выполнялась в том же окне" просто бред и или сам сделаешь то, что тебе нужно, или сформулируешь вопрос так, чтобы он имел смысл. Пока что смысла в твоем вопросе нет и ответить на него невозможно.
 

Seregarival

Новичок
Извиняюсь, если непонятно вопрос задан. После ввода значений в форму, она отправляет (в моем случае) данные для обработки сама себе и при этом идет обновление страницы, во время которого в моем приложении генерируется новое выражение.
По сути мне надо сделать, чтобы после!!!! ввода данных в форму, т.е. после нажатия кнопки "Отправить" запустился модуль (include 'polzap.php';), а страница не обновлялась.
Правда не уверен, что такое вообще возможно ...

Это приложение типа теста, генерируется выражение, оно показано на экране, пользователь вводит расчитаные постфиксную и префиксную запись, система сама выполняет расчет и сравнивает свои результаты и результаты пользователя.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Начал бы ты с чего-нибудь более простого, а потом уже дошел бы до "а страница не обновлялась" и "без перезагрузки страницы". Реально советую, потом геморроя будет меньше, чем если сразу браться за такое.
 

Seregarival

Новичок
c0dex
Уже всё готово просто, кроме ввода пользовательских значений и проверки ... Их доделать и можно сдаваться ))
Только как это сделать ... меня уже бесят наборы букв pdf и djvu :)
 

mity

Новичок
У вас Всё перепуталось
сначала начинаете тег <center> а затем html
Вводите какието несуществующие атрибуты name1 name2

По идее должно быть что то вроде этого
PHP:
<?php 

header("Content-Type: text/html; charset=windows-1251");    //Так лучше
// header("Content-type: text/html; charset=utf-8");   //Или так


if( ! isset($_GET['Name1'])){
//Первоначальная загрузка страницы

$m1 = array ("a", "b", "c", "d", "e"); 
$m2 = array ("*", "/", "+", "-"); 
$m3 = array ("(", ")"); 

$i1 = rand(0,3); 
$i2 = rand(0,3); 
$i3 = rand(0,3); 
$i4 = rand(0,3); 
$v1  = array ("$m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4]", 
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4]", 
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4]", 
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]", 
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4]", 
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]", 
"$m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])", 
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]($m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]", 
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]($m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])", 
"$m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4])", 
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]($m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4]", 
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]($m1[2]$m2[$i3]$m1[3]$m2[$i4]$m1[4])", 
"($m1[0]$m2[$i1]$m1[1])$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4])", 
"$m1[0]$m2[$i1](($m1[1]$m2[$i2]$m1[2])$m2[$i3]($m1[3]$m2[$i4]$m1[4]))", 
"($m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2])$m2[$i3]$m1[3]$m2[$i4]$m1[4])", 
"($m1[0]$m2[$i1]($m1[1]$m2[$i2]$m1[2]$m2[$i3]$m1[3])$m2[$i4]$m1[4])", 
"($m1[0]$m2[$i1]$m1[1]$m2[$i2]$m1[2]$m2[$i3]($m1[3]$m2[$i4]$m1[4]))"); 
$i = rand(0,16); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body> 
<center><b><font size="5" color="red">Система генерации случайного арифметического выражения, построение постфиксной и префиксной польской записи, построение дерева арифметического разбора выражения </font></center></b><br>
<hr size=3 color=red></hr>
<br>
<?php
/*$im = @imagecreate(110, 20); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagepng($im); 
imagestring($im, 1, 5, 5,  "A!!", $text_color); 
imagedestroy($im);*/ 
?>
<font size="3" color="red">Созданное выражение:</font><br><br>
<?php
print($v1[$i]); 
$formula=$v1[$i]; 
?>
<br>
<font size="3" color="red">Переведите выражение в постфиксную и префиксную запись:</font><br><br>

<form action="index.php" method="Get"> 
<?php
/*Постфиксная запись: <input type="text" Name1="Name1" /><br />    Неверно !!!!!!!!!!
не Name1="Name1" , 
а  Name ="Name1" !!!*/
?>
Постфиксная запись: <input type="text" Name="Name1" /><br /> 
Префиксная  запись: <input type="text" Name="Name2" /><br /> 
<input type="Submit" /> 
</form></body></html>
<?php
}else{
//Нажали кнопку отправить
 include 'polzap.php'; 
};
?>

Проверяйте корректность генерируемого html кода


Хотя похоже всё что вы хотите сделать можно сделать только с использованием ajax
 

Seregarival

Новичок
mity
Спасибо большое, насчет html очень помог, сейчас другие 2 модуля тоже переделаю немного!
А так да, потом все равно после отправки все сбивается ... похоже средствами только php здесь не обойтись.
 

dimagolov

Новичок
mity, ну и толку?
все равно после отправки все сбивается ... похоже средствами только php здесь не обойтись.
можно обойтись и без ajax-а но с перезагрузкой страницы. только нужно заполнять поля введенными данными при этом.
 

mity

Новичок
Автор темы не привёл содержимое файла polzap.php
В этом файле должна заново отрисовываться форма в которой будут указаны текущие значения

PHP:
Постфиксная запись: <input type="text" Name="Name1" value="<?php echo htmlspecialchars(@$_GET['Name1'] ,ENT_QUOTES); ?>" />
Естественно магические кавычки необходимо выключить

И ничего слетать не будет
 

Seregarival

Новичок
Извините за оффтоп, мысль понял, сейчас буду реализовывать, но проблема какая-то возникает, буквально раз 5 любой скрипт выполняется и денвер слетает, точнее он запущен, но выдает ошибку "Невозможно найти удалённый сервер". Перезапускаешь Денвер, тоже самое - не работает, помогает только перезагрузка компьютера, и-то - снова раз на 5, иногда вообще не запускается.
P.S. вирусов вроде нет, Касперский спокоен, вчера работало все идеально ....
 

dimagolov

Новичок
а касперский с денвером подружить не просто, там даже how-to какие-то писали на эту тему.

в общем, разбирайся, куда у тебя попадают/пропадают запросы
 

craz

Нестандартное звание
Автор оригинала: dimagolov
а касперский с денвером подружить не просто, там даже how-to какие-то писали на эту тему.

в общем, разбирайся, куда у тебя попадают/пропадают запросы
У него приложение раняет апач, у меня так было(в децстве) и надо не перезапускать денвер, а вырубать его, а потом врубать- всмысле чтоб не ребутить комп, а ваще писать такое на php ничего о нем не зная... лучше б делфи взяли какой-нить
 
Сверху