Мне нужно изменить код другого пользователя на веб-сайте (этот человек недоступен), и у меня нет большого опыта работы на 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> <?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> <?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> <?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> <?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
Убедитесь, что ваше действие имеет путь, равный вашему пути к странице, после чего он будет отправлять ваши значения форм и останется на одной странице, если на этой странице есть путь, например, /home/index.php
тогда
<form action="/home/index.php" method="post" enctype="multipart/form-data" id="form">
и если у вас есть путь от переменной $action
попробуйте echo $action;
чтобы убедиться, что у вас есть тот же путь к вашей текущей странице
Если вы хотите, чтобы форма была отправлена на текущую страницу, просто удалите атрибут action
из тега формы. Тем не менее, вы должны выполнить проверку для представления данных или не предотвратить предоставление формы или перезапись формы какой-то вещи, как показано ниже:
<?php if (isset($_POST['title']) && $_POST['title'] != ''): ?>
//Perform form data processing
<?php else: ?>
// Your form code
<?php endif; ?>
Переменная $ action здесь во второй строке должна привести к странице, которую вы хотите перезагрузить.
$action