Задача: 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>
Добра практика е да са отделно, но пак ще работи. Трябва да го тествам, че отскоро се занимавам с php, но виждам някои проблеми. В isset не си кказал $_GET. После ти взимаш някакви променливи , които уж трябва да се мапнат към inputите със същото име, но според мен те са напълно различни. После имаш count($names) ама names не ти е глобална следователно е undefined. И последно по никакъв начин не го принтираш на броусъра. Echo, printf и т.н
Не точно. Проблема е тук: <?php if (isset($names, $agges)); ?>
Този if е винаги не верен, тъй като никъде не присвуяваш променливите. Първо ти трябва нещо от сорта на:
$names не просто не е ти е глобална промелнива, тя не съществува.
Относно принтирането, всъщост го има и при вярна задача, ще си е на ред. <?= е равноположно на <?php echo.
Коментарите на @dvdty са най-коректни - липсва фактическото даване на стойност на двата масива.
Не е достатъчно само да се вземат от $_GET.
Обърнете внимание в какъв вид идват от там и в какъв трябва да се докарат за да се върти по тях