Как я могу исправить эту неопределенную ошибку индекса, которую я получаю в php - PullRequest
0 голосов
/ 25 мая 2020

У меня проблема с переменной для моего массива под названием $ templateVars. У меня есть два файла: одна шутка. php и одна шутка. html. php Файл php предназначен для logi базы данных c, запросов, и все php вещи Файл html. php предназначен только для html

я пытаюсь отправить переменные $ templateVars в файл html. php, чтобы его можно было использовать Однако я продолжаю получать переменную undefined error Я новичок в php и застрял на этом некоторое время, я был бы признателен за любую помощь, которую я могу получить с этим

PHP шутками над файлом. php

<?php

    require '../template.php';
    $title = 'List';

    if (isset($_SESSION['login']) && $_SESSION['login'] == true) {
        if (isset($_POST['submit'])) {

    $jokes = find($pdo, 'jokes');
            $applications = $pdo->prepare('SELECT count(*) as count FROM applications WHERE jokeId = :jokeId');
        $applications->execute(['jokeId' => $jokes['id']]);
        $applicantNumber = $applications->fetch();
        $categoryList = $pdo->prepare('SELECT * FROM category WHERE id = :id');

        $values = [
            'id' => $jokes['categoryid']
        ];
        $categoryList->execute($values);
        $categoryName = $categoryList->fetch();

        $filterCity = find($pdo, 'jokes');

        $templateVars = array(
            'jokes' => $jokes,
            'category' => $categoryList,
            'applications' => $applications,
            'jokes' => $filterCity,
            'categoryList' => $categoryName,
            'applications' => $applicantNumber
        );
    } else {
        $jokes = find($pdo, 'jokes');
        $output = loadTemplate('../Templates/joListing.html.php', $templateVars);
    }
} else {
    $output = loadTemplate('../Templates/login.html.php', []);
}
require '../Templates/layout.html.php';

СПИСОК ДЖОКОВ. html. php код

<main class="sidebar">

    <section class="left">
        <ul>
            <li><a href="/jokes">Jokes</a></li>
            <li><a href="/categories">Categories</a></li>

        </ul>
    </section>

    <section class="right">

<h2>Jokes</h2>

<form action="" method="POST">

        <select name = "mySelect" id ="id">
       <?php foreach ($filterCity as $rows){ ?>
        <option value= " '. <?=$rows['id'];?>. '">'. <?=$rows['location'];?>.</option>;

        <?php } ?>
        </select>
<input type="submit" name="filter" value="filter" />



    <?php       foreach ($jokes as $joke) { ?>


        <table>
        <thead>
        <tr>
        <th>Title</th>
        <th>Salary</th>


            </tr>
            <tr>
            <td><?=$joke['title'];?></td>
            <td><?=$joke['salary'];?></td>
            <td><?=$Categoryname['name'];?></td>



                <td><a style="float: right" href="/applications?id=' . <?=$joke['id'] ;?>. '">View applicants (<?=$applicationNumber ['count'] ;?>)</a></td>

                </tr>


            </thead>
            </table>
            <?php } ?>


</section>
</main>

1 Ответ

0 голосов
/ 25 мая 2020

Проблема здесь:

        <td><?=$joke['title'];?></td>
        <td><?=$joke['salary'];?></td>
        <td><?=$Categoryname['name'];?></td>

И здесь: <option value= " '. <?=$rows['id'];?>. '">'. <?=$rows['location'];?>.</option>;

а также здесь: <td><a style="float: right" href="/applications?id=' . <?=$joke['id'] ;?>. '">View applicants (<?=$applicationNumber ['count'] ;?>)</a></td>

Вы пытаетесь позвонить на php с просто <? должно быть <?php. и вам не нужен знак = в php. А также эта проблема есть в нескольких местах

        <td><?php $joke['title'];?></td>
        <td><?php $joke['salary'];?></td>
        <td><?php $Categoryname['name'];?></td>

и

<option value= " '. <?php $rows['id'];?>. '">'. <?php $rows['location'];?>.</option>;

, а также здесь:

<td><a style="float: right" href="/applications?id=' . <?php $joke['id'] ;?>. '">View applicants (<?php $applicationNumber ['count'] ;?>)</a></td>

Ответьте на другой ваш вопрос:

<?php

    require '../template.php';
    $title = 'List';

    if (isset($_SESSION['login']) && $_SESSION['login'] == true) {
        if (isset($_POST['submit'])) {

    $jokes = find($pdo, 'jokes');
        $applications = $pdo->prepare('SELECT count(*) as count FROM applications WHERE jokeId = :jokeId');
        $applications->execute(['jokeId' => $jokes['id']]);
        $applicantNumber = $applications->fetch();
        $categoryList = $pdo->prepare('SELECT * FROM category WHERE id = :id');

        $values = [
            'id' => $jokes['categoryid']
        ];
        $categoryList->execute($values);
        $categoryName = $categoryList->fetch();

        $filterCity = find($pdo, 'jokes');

        $templateVars = array(
            'jokes' => $jokes,
            'category' => $categoryList,
            'applications' => $applications,
            'jokes' => $filterCity,
            'categoryList' => $categoryName,
            'applications' => $applicantNumber
        );

        $output = loadTemplate('../Templates/joListing.html.php', $templateVars);
    }
} else {
    $output = loadTemplate('../Templates/login.html.php', []);
}
require '../Templates/layout.html.php';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...