php form - перезагрузить при отправке

0

Мне нужно изменить код другого пользователя на веб-сайте (этот человек недоступен), и у меня нет большого опыта работы на php. На мгновение эта форма перенаправляется на предыдущую страницу в submit. Я должен изменить его, чтобы перезагрузить текущую страницу. Я неоднократно предпринимал попытки изменить поле действия формы, но все они приводят либо к пустой странице, либо к странице, к которой она была перенаправлена. Может ли кто-то поделиться небольшим знанием здесь?

<div id="tab-general" class="tab-content">
      <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form">
        <table>
          <tr>
            <td><span class="required">*</span>&nbsp;<?php echo $entry_title; ?></td>
            <td><input type="text" value="<?php echo $title; ?>" name="title" id="title" /><br />
            <?php if ($error_title) { ?>
              <span class="error"><?php echo $error_title; ?></span>
            <?php } ?></td>
          </tr>
          <tr>
            <td><span class="required">*</span>&nbsp;<?php echo $entry_name; ?></td>
            <td><input type="text" value="<?php echo $name; ?>" name="name" id="name" /><br />
            <?php if ($error_name) { ?>
              <span class="error"><?php echo $error_name; ?></span>
            <?php } ?></td>
          </tr>
          <tr>
            <td><span class="required">*</span>&nbsp;<?php echo $entry_email; ?></td>
            <td><input type="text" value="<?php echo $email; ?>" name="email" id="email" /><br />
            <?php if ($error_email) { ?>
              <span class="error"><?php echo $error_email; ?></span>
            <?php } ?></td>
          </tr>
          <tr>
            <td><span class="required">*</span>&nbsp;<?php echo $entry_end_date; ?></td>
            <td><input type="text" value="<?php echo $end_date; ?>" name="end_date" id="end_date" /><br />
            <?php if ($error_end_date) { ?>
              <span class="error"><?php echo $error_end_date; ?></span>
            <?php } ?></td>
          </tr>
          <tr>
            <td><?php echo $entry_type; ?></td>
            <td><select name="type" id="type" class="type_list">
              <?php if ($type) { ?>
                <option value="1" selected="selected"><?php echo $text_private; ?></option>
                <option value="0"><?php echo $text_public; ?></option>
                <?php } else { ?>
                  <option value="1"><?php echo $text_private; ?></option>
                  <option value="0" selected="selected"><?php echo $text_public; ?></option>
                <?php } ?>
            </select></td>
          </tr>
          <tr>
            <td><?php echo $entry_status; ?></td>
            <td><select name="status">
            <?php if ($status) { ?>
              <option value="1" selected="selected"><?php echo $text_enabled; ?></option>
              <option value="0"><?php echo $text_disabled; ?></option>
              <?php } else { ?>
                <option value="1"><?php echo $text_enabled; ?></option>
                <option value="0" selected="selected"><?php echo $text_disabled; ?></option>
              <?php } ?>
            </select></td>
          </tr>
          <tr>
            <td><br /><h2><?php echo $text_invitees; ?></h2></td>
            <td></td>
          </tr>
        </table>
        <table id="attendee" class="list">
          <thead>
            <tr>
              <td class="left"><?php echo $entry_att_name; ?></td>
              <td class="right"><?php echo $entry_att_email; ?></td>
              <td></td>
            </tr>
          </thead>
          <tfoot>
            <tr>
              <td colspan="2"></td>
              <td class="left"><a onclick="addAttendee();" class="button"><?php echo $button_add; ?></a></td>
            </tr>
          </tfoot>
          <?php $attendee_row = 0; ?>
          <?php if ($attendees) { ?>
            <?php foreach ($attendees as $attendee) { ?>
            <tbody id="attendee-row<?php echo $attendee_row; ?>">
              <tr>
                <td class="left"><input type="text" name="attendee[<?php echo $attendee_row; ?>][name]" value="<?php echo $attendee['name']; ?>" size="18" />
                <?php if (isset($error_name_attendee[$attendee_row])) { ?>
                  <span class="error"><?php echo $error_name_attendee[$attendee_row]; ?></span>
                <?php } ?>
                </td>
                <td class="right"><input type="text" name="attendee[<?php echo $attendee_row; ?>][email]" value="<?php echo $attendee['email']; ?>" size="18" />
                <?php if (isset($error_email_attendee[$attendee_row])) { ?>
                  <span class="error"><?php echo $error_email_attendee[$attendee_row]; ?></span>
                <?php } ?>
                </td>
                <td class="left"><a onclick="$('#attendee-row<?php echo $attendee_row; ?>').remove();" class="button"><?php echo $button_remove; ?></a>
                </td>
              </tr>
            </tbody>
          <?php $attendee_row++; ?>
            <?php } ?>
            <?php } ?>
        </table>
      <div class="buttons"><div class="left">
        <a onclick="$('#form').submit();" class="button"><?php echo $button_save; ?></a></div><div class="right"><a onclick="location = '<?php echo $cancel; ?>';" class="button"><?php echo $button_cancel; ?></a>
      </div></div>
  </div>

После проверки содержимого переменной $ action получается, что она содержит ссылку на текущую страницу. Он ДОЛЖЕН перезагрузить страницу, но это не так.

пример: это ссылка

localhost/index.php?route=account/projects/editProject&project_id=1&akey=98c27892d1e2a13c0dfb9086539f8275

и он хранится в переменной $ action. Вместо этого направление направлено на ссылку

localhost/index.php?route=account/projects
  • 0
    Вы должны проверить значение переменной $action
  • 0
    где определяется $ action? изменить это
Показать ещё 1 комментарий
Теги:
form-submit
reload

3 ответа

2

Убедитесь, что ваше действие имеет путь, равный вашему пути к странице, после чего он будет отправлять ваши значения форм и останется на одной странице, если на этой странице есть путь, например, /home/index.php тогда

<form action="/home/index.php" method="post" enctype="multipart/form-data" id="form">

и если у вас есть путь от переменной $action попробуйте echo $action; чтобы убедиться, что у вас есть тот же путь к вашей текущей странице

0

Если вы хотите, чтобы форма была отправлена на текущую страницу, просто удалите атрибут action из тега формы. Тем не менее, вы должны выполнить проверку для представления данных или не предотвратить предоставление формы или перезапись формы какой-то вещи, как показано ниже:

<?php if (isset($_POST['title']) && $_POST['title'] != ''): ?>

//Perform form data processing 

<?php else: ?>
// Your form code

<?php endif; ?>
  • 0
    Я удалил атрибут действия, и он как-то все еще перенаправляет на ту же страницу !!
  • 0
    @ Анонимный проверьте ваш код JavaScript, который выполняет отправку. Или будьте уверены, что страница не отображается из кеша
0

Переменная $ action здесь во второй строке должна привести к странице, которую вы хотите перезагрузить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню