php - 提交后如何留在页脚部分?#php
问题描述
我需要一些关于 PHP 会话的帮助,或者来自精通 PHP 会话的人的类似帮助,并且对不熟悉 PHP 会话的人有所了解。有人告诉我,它可以通过 PHP 会话完成,还是不可能?有一些答案可以用 Ajax 完成,但我的问题是 - 它可以用 PHP 会话完成吗?如何?好吧,一切都对我有用 - 它将数据插入数据库并抛出验证错误,但这是我的问题:我正在做 MVC,我不想在提交后刷新我的页面,以便用户必须滚动向下查看验证(因为我在页脚中有 $msg 和 $errors),所以我希望视口在提交后写入消息的同一位置 - 在页脚中。如果有人能看到并给出我需要在哪里放置或从哪里删除什么的具体答案,我将不胜感激。我相信小东西在控制器中。
PS 这里是 1. index.php (pijaca.php) 由包裹组成的页面, 2. 表单所在的 pijaca-footer.php, 3. 从表单去的 routes.php 和 4. Controller.php .
我尝试了一切:将“id”放入表单中,然后从 Controller 调用它 - 不起作用,在网上寻找建议和答案,我可能用谷歌搜索了一些不好的东西(它会随着时间和经验而来),但是我没办法。提前致谢!
<?php
$ime = isset($ime)?$ime:"";
$prezime = isset($prezime)?$prezime:"";
$telefon = isset($telefon)?$telefon:"";
$errors = isset($errors)?$errors:[];
session_start();
?>
<?php include'pijaca-nav.php'; ?>
<?php include'pijaca-header.php'; ?>
<?php include'pijaca-about.php'; ?>
<?php include'pijaca-photo-1.php'; ?>
<?php include'pijaca-story.php'; ?>
<?php include'pijaca-photo-2.php'; ?>
<?php include'pijaca-features.php'; ?>
<?php include'pijaca-footer.php'; ?>
<footer id="contact" class="footer">
<div class="footer__box">
<form action="routes.php" id="form" class="form" method="post">
<input type="text" class="form__input" name="firstname" placeholder="First Name" value="<?php echo $ime ?>"><span>*<?php if(array_key_exists('firstname', $errors)) echo $errors['firstname'] ?></span>
<input type="text" class="form__input" name="lastname" placeholder="Last Name" value="<?php echo $prezime ?>"><span>*<?php if(array_key_exists('lastname', $errors)) echo $errors['lastname'] ?></span>
<input type="text" class="form__input" name="telephone" placeholder="Telephone No." value="<?php echo $telefon ?>"><span>*<?php if(array_key_exists('telephone', $errors)) echo $errors['telephone'] ?></span>
<button class="btn btn--green btn--form" type="submit" name="page" value="contactus">Contact us</button>
</form>
<h5 class="heading-5 heading-5--footer-box-1">
<?php if(isset($msg)) echo $msg ?>
</h5>
</div>
</footer>
<?php
require_once'../controller/Controller.php';
$controller = new Controller();
$pageGet = isset($_GET['page'])?$_GET['page']:"index";
$pagePost = isset($_POST['page'])?$_POST['page']:"index";
$page = ($pageGet != "index")?$pageGet:$pagePost;
switch ($page) {
case 'contactus':
$controller->contactus();
break;
}
<?php
require_once'../model/DAO.php';
class Controller{
public function contactus() {
$ime = isset($_POST['firstname'])?$_POST['firstname']:"";
$prezime = isset($_POST['lastname'])?$_POST['lastname']:"";
$telefon = isset($_POST['telephone'])?$_POST['telephone']:"";
$errors = [];
if (empty($ime)) {
$errors['firstname'] = "Please enter your name";
}
if (empty($prezime)) {
$errors['lastname'] = "Please enter your lastname";
}
if (empty($telefon)) {
$errors['telephone'] = "Please enter your telephone";
} else {
if (preg_match('/^[0-9 +_-]*$/', $telefon)) {
} else {
$errors['telephone'] = "Please enter a number";
}
}
if (count($errors) == 0) {
$dao = new DAO();
$podacikorisnika = $dao->korisnik($ime, $prezime, $telefon);
$msg = "Sucsses!";
include 'pijaca.php';
} else {
$msg = "Please enter all fileds";
include 'pijaca.php';
}
}
}
解决方案
推荐阅读
- java - 无法通过 jpa 存储库删除记录
- google-analytics - 如何在 GA 中使用 BigQuery 计算数量
- php - 如何为 laravel 提供更多内存
- javascript - jQuery从列表中找到具有确切数字的td
- apache - Apache/mod_perl 随机失败
- mlr - 如何创建 RLearner_regr_QRNN.R?
- apache-spark - Kappa 架构:当插入到批处理/分析服务层时
- python - 特殊的 eyed3 类型变成了 python 的 NoneType
- pandas - 我可以为 Pandas 列分配多种数据类型吗?
- java - 如何在java中下载unirest post call response?