Loading...
kirova123 avatar kirova123 6 Точки

Задача: Render Students Info

Можете ли да ми помогнете, защо не ми печата нищо? Минавам през браузер.

<!DOCTYPE html>
<head>
    <meta charset="utf-8"/>
    <title>Render Students Info</title>
</head>
<body>

<form method = "get">
<div>
    Delimeter:
    <select name="delimeter">
        <option value=",">,</option>
        <option value="|">|</option>
        <option value="&">&</option>
    </select>
</div>
<div>
    Names:
    <input type="text"  name="names"/>
        
</div>
<div>
    Ages:
    <input type="text" name="agges"/>
        
</div>
<div>
    <input type="submit" name="filter" value="Filter!"/>
        
</div>

<?php if (isset($names, $agges)); ?>
<table border="1" cellpadding="0">
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
        </tr>
    </thead>
    
<tbody>
    <?php for ($i=0; $i<count($names); $i++): ?>
        <tr>
            <td><?= $names[$i]; ?></td>
            <td><?= $agges[$i]; ?></td>
        </tr>
        <?php endfor; ?>
</tbody>
</table>

</form>
</body>
</html>

Тагове:
0
PHP Web Development Basics 23/09/2017 17:36:07
iwanovw avatar iwanovw 7 Точки

Защото трябва и php логика в отделен файл: 

  1. Separate the HTML and the PHP - не случайно са го написали 

 

0
AntonPortenov avatar AntonPortenov 102 Точки

Добра практика е да са отделно, но пак ще работи. Трябва да го тествам, че отскоро се занимавам с php, но виждам някои проблеми. В isset не си кказал $_GET. После ти взимаш някакви променливи , които уж трябва да се мапнат към inputите със същото име, но според мен те са напълно различни. После имаш count($names) ама names не ти е глобална следователно е undefined. И последно по никакъв начин не го принтираш на броусъра. Echo, printf и т.н

0
dvdty avatar dvdty 497 Точки

Не точно. Проблема е тук: <?php if (isset($names, $agges)); ?>

Този if  е винаги не верен, тъй като никъде не присвуяваш променливите. Първо ти трябва нещо от сорта на:

$name = $_GET["name"];
$age = $_GET["age"];

$names не просто не е ти е глобална промелнива, тя не съществува.

Относно принтирането, всъщост го има и при вярна задача, ще си е на ред. <?= е равноположно на <?php echo.

0
23/09/2017 19:47:22
darcoto avatar darcoto 15 Точки

Коментарите на @dvdty са най-коректни - липсва фактическото даване на стойност на двата масива.

Не е достатъчно само да се вземат от $_GET.

 Обърнете внимание в какъв вид идват от там и в какъв трябва да се докарат за да се върти по тях

0
23/09/2017 21:00:29
kirova123 avatar kirova123 6 Точки

След подсказката ми дава само първия символ от буквата на името и съответно на годината в таблицата. Интересно ми е от къде идва това?

0
dvdty avatar dvdty 497 Точки

Сложи целия код в http://Pastebin.com и го постни тук, отново.

0
darcoto avatar darcoto 15 Точки

Не си обърала внимание на втората част от моя коментар - в какъв тип влизат данните от $_GET и в какъв ни трябват за цикъла

0
kirova123 avatar kirova123 6 Точки

Благодаря Ви!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.