Jump to content
  • 0

PHP- Создание теста


Wasc
 Share

Question

Всем привет, хочу сделать тест и кое-что уже набросал:


<a class="insidedata">
<div class="textcont">Q1: Your physical height
<p><input name="height" value="1" type="radio">160-170cm</p>
<p><input name="height" value="2" type="radio">170-180cm</p>
<p><input name="height" value="3" type="radio">180-190cm</p>
<p><input name="height" value="4" type="radio">190-200cm</p>
</a>
</div>
<?php
if($height = 1){
$gnom+1;
$dwarve+1;
$goblin+1;
}
if($height = 2){
$orc+1;
$human+1;
$bloodelf+1;
$undead+1;
}
if($height = 3){
$troll+1;
$nightelf+1;
}
if($height = 4){
$worgen+1;
$tauren+1;
$draenei+1;
}
?>
<a class="insidedata">
<div class="textcont">Q2: Your body shape
<p><input name="shape" value="1" type="radio">Skinny</p>
<p><input name="shape" value="2" type="radio">Average</p>
<p><input name="shape" value="3" type="radio">Fat</p>
<p><input name="shape" value="4" type="radio">Broad</p>
<p><input name="shape" value="5" type="radio">Narrow</p>
</div>
</a>
<?php
if($shape = 1){
$troll+1;
$undead+1;
$nightelf+1;
}
if($shape = 2){
$human+1;
$bloodelf+1;
}
if($shape = 3){
$dwarve+1;
$tauren+1;
}
if($shape = 4){
$worgen+1;
$draenei+1;
$orc+1;
}
if($shape = 5){
$goblin+1;
$gnom+1;
}
?>

У меня вопрос: как вывести все эти переменные $undead,$orc,$human,$troll и т.д., а точнее их значения.

После нажатия определенной "радио" увеличиваются определенные вышеупомянутые переменные. Попробовал через echo, что-то не получилось

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

А почему у Вас if($height = 1) (как, впрочем, и в других операторах) вместо if($height == 1)

Т.к. = - оператор присваивания, а == - сравнение

И, кстати, php работает на стороне сервера, поэтому динамического изменения данных не будет, т.к. содержимое нужно послать серверу методом get или post, испольузуя тег <form> и, например, <input type='submit'>...

Короче, лучше внимательно изучить мат. часть

Edited by george75
Link to comment
Share on other sites

  • 0

Ошибки свои понял и переделал немного код, но не работает вывод переменной почему-то. Перерыл весь интернет и вроде так и делается:


<form action="file://localhost/C:/Crazzard/Web-Site/tests/test-race.html" method="get">
<a class="insidedata">
<div class="textcont">Q1: Your physical height
<p><input name="height" value="1" type="radio">160-170cm</p>
<p><input name="height" value="2" type="radio">170-180cm</p>
<p><input name="height" value="3" type="radio">180-190cm</p>
<p><input name="height" value="4" type="radio">190-200cm</p>
</div>
</a>
<?php
if($height == 1){
$gnom+1;
$dwarve+1;
$goblin+1;
}
if($height == 2){
$orc+1;
$human+1;
$bloodelf+1;
$undead+1;
}
if($height == 3){
$troll+1;
$nightelf+1;
}
if($height == 4){
$worgen+1;
$tauren+1;
$draenei+1;
}
?>
<a class="insidedata">
<div class="textcont">Q2: Your body shape
<p><input name="shape" value="1" type="radio">Skinny</p>
<p><input name="shape" value="2" type="radio">Average</p>
<p><input name="shape" value="3" type="radio">Fat</p>
<p><input name="shape" value="4" type="radio">Broad</p>
<p><input name="shape" value="5" type="radio">Narrow</p>
</div>
</a>
<?php
if($shape == 1){
$troll+1;
$undead+1;
$nightelf+1;
}
if($shape == 2){
$human+1;
$bloodelf+1;
}
if($shape == 3){
$dwarve+1;
$tauren+1;
}
if($shape == 4){
$worgen+1;
$draenei+1;
$orc+1;
}
if($shape == 5){
$goblin+1;
$gnom+1;
}
?>
<input type="submit">
</form>
<?php
echo("<p>Troll is $_GET['troll']</p>");
?>

Link to comment
Share on other sites

  • 0

Судя по <form action="file://localhost/C:/Crazzard/Web-Site/tests/test-race.html" method="get"> у Вас не установлен web-сервер или Вы его не настрили, т.к. должно выглядеть так: <form action="test-race.php" method="get"> или <form action="http://localhost/test-race.php" method="get">

Может быть и test-race.html, если Ваш сервер настроен соответствующим образом.

Методом get нужно передать обработчику переменные height и shape.

Такая конструкция будет работать, при условии, что у Вас настроен web-сервер:

        <form action="test-race.php" method="get">
<a class="insidedata">
<div class="textcont">Q1: Your physical height
<p><input name="height" value="1" type="radio">160-170cm</p>
<p><input name="height" value="2" type="radio">170-180cm</p>
<p><input name="height" value="3" type="radio">180-190cm</p>
<p><input name="height" value="4" type="radio">190-200cm</p>
</div>
</a>
<a class="insidedata">
<div class="textcont">Q2: Your body shape
<p><input name="shape" value="1" type="radio">Skinny</p>
<p><input name="shape" value="2" type="radio">Average</p>
<p><input name="shape" value="3" type="radio">Fat</p>
<p><input name="shape" value="4" type="radio">Broad</p>
<p><input name="shape" value="5" type="radio">Narrow</p>
</div>
</a>
<input type="submit">
</form>
<?php
if (isset($_GET['height'])) {
$height=$_GET['height'];
if($height == 1){
$gnom=$gnom+1;
$dwarve=$dwarve+1;
$goblin=$goblin+1;
}
if($height == 2){
$orc=$orc+1;
$human=$human+1;
$bloodelf=$bloodelf+1;
$undead=$undead+1;
}
if($height == 3){
$troll=$troll+1;
$troll=$troll+1;
}
if($height == 4){
$worgen=$worgen+1;
$tauren=$tauren+1;
$draenei=$draenei+1;
}
}
if (isset($_GET['shape'])) {
$shape=$_GET['shape'];
if($shape == 1){
$troll=$troll+1;
$undead=$undead+1;
$nightelf=$nightelf+1;
}
if($shape == 2){
$human=$human+1;
$bloodel=$bloodelf+1;
}
if($shape == 3){
$dwarve=$dwarve+1;
$tauren=$tauren+1;
}
if($shape == 4){
$worgen=$worgen+1;
$draenei=$draenei+1;
$orc=$orc+1;
}
if($shape == 5){
$goblin=$goblin+1;
$gnom=$gnom+1;
}
}
echo('<p>Troll is '.$troll.'</p>');
?>

Хотя лучше использовать не if, а case switch

Link to comment
Share on other sites

  • 0

Спасибо за развернутый ответ. А не могли бы Вы подсказать, как установить веб-сервер и какой-лучше использовать. У меня стоит WampServer который видимо не работает. А каким пользуетесь Вы?

Link to comment
Share on other sites

  • 0

Для начинающего - denwer. Пользуются многие, быстр и понятен в установке.

После того, как установите в каталоге WebServers/home создайте каталог с названием вашего локального сайта (например, /testrace), и в уже созданном каталоге создайте папку /www (т.е. полный путь будет выглядеть так - WebServers/home/testrace/www) - в эту папку Вы будете складывать рабочие файлы.

После перезапуска web-сервера Вы получите к ним доступ по пути http://testrace (если были созданы вышеуказанные каталоги).

В случае использования кодировки utf-8 не забудьте положить в каталог www файл .htaccess с текстом "AddDefaultCharset UTF-8".

WAMP - тоже неплохой сервер, не исключено, что Вам нужно внимательнее прочитать руководство по его установке и настройке.

Спасибо за развернутый ответ. А не могли бы Вы подсказать, как установить веб-сервер и какой-лучше использовать. У меня стоит WampServer который видимо не работает. А каким пользуетесь Вы?

Link to comment
Share on other sites

  • 0

Поставил денвер себе. Разобрался и вроде все нормально работает с новым доменом, а не с file://localhost/C:/.

Но есть одна проблемка. Все стили, флэш-слайдер, картинки - все это полетело(кроме самого html стиля). Так понимаю дело в ссылках.

Что писать вместо file:// ...Попробовал все поменять на название папки в home (crazzard.net) - не получилось/

Link to comment
Share on other sites

  • 0

Создай папку WebServers/home/crazzard/www - сложи все файлы и папки сайта туда, перезапусти денвер и будет счастье...

Заходить нужно будет по пути "http://crazzard/"

Ну и пути, если были прописаны как абсолютные, нужно поменять на относительные, например, не "file://localhost/C:/WebServers/home/crazzard/www/images/", а "images/"

Поставил денвер себе. Разобрался и вроде все нормально работает с новым доменом, а не с file://localhost/C:/.

Но есть одна проблемка. Все стили, флэш-слайдер, картинки - все это полетело(кроме самого html стиля). Так понимаю дело в ссылках.

Что писать вместо file:// ...Попробовал все поменять на название папки в home (crazzard.net) - не получилось/

Link to comment
Share on other sites

  • 0

С тем как запускать и открывать я уже разобрался

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

Edited by Wasc
Link to comment
Share on other sites

  • 0

Конечно, можно указать абсолютные пути к файлам вида 'C:/Имя каталога/Имя файла', но при переносе на удаленный хостинг все это не будет работать и потребует лишних трудозатрат. Поэтому лучше сразу продумать структуру каталогов и использовать относительные пути

С тем как запускать и открывать я уже разобрался

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

Link to comment
Share on other sites

  • 0

И последний пожалуй вопрос:

Все работает кроме картинок. Все картинки не отображаются. Думаю проблема в путях, хотя удивительно, что все пути к css, swf файлам подключены и работают нормально. Сейчас попробую добавить в корень .htaccess, но думаю не поможет.

Не помогло :facepalmxd:

Link to comment
Share on other sites

  • 0

корень сайта www.

в корне уже файл index.html.

в корне также папка css, в которой все файлы стилей.

и также в корне папка img, в которой все картинки.

Пример пути к css в html файле: css/topmenu.css

Пример пути к картинке в css файле: img/topmenu-left.png

P.S. Погуглив заметил, что не только у меня такая ошибка(именно с картинками), но решений так и не нашел

Link to comment
Share on other sites

  • 0

Из файла css путь нужно указать как /img/topmenu-left.png (www/img)- тогда он будет вести в папку на том же уровне что и папка css, а img/topmenu-left.png - указывает на вложенную папку, т.е. (www/css/img/...)

корень сайта www.

в корне уже файл index.html.

в корне также папка css, в которой все файлы стилей.

и также в корне папка img, в которой все картинки.

Пример пути к css в html файле: css/topmenu.css

Пример пути к картинке в css файле: img/topmenu-left.png

P.S. Погуглив заметил, что не только у меня такая ошибка(именно с картинками), но решений так и не нашел

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy