为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 提交请求不起作用

PHP 提交请求不起作用

PHP
千巷猫影 2023-06-24 19:15:55
我创建了一个注册用户系统并分为两个页面。(registercontrol.php 和 register.php)在register.php中,通常“提交”按钮应该将数据发送到registercontrol.php,但是当我单击“提交”按钮时没有任何反应。它只是刷新页面,什么也不做,成员表中没有数据。我错过了什么吗?注册.php<?php require('../includes/config.php');//if logged in redirect to members pageif ($user->is_logged_in() ){     header('Location: ../dashboard/index.php');     exit(); }//define page title$title = 'Demo';//include header templaterequire('../layout/header.php');?><input type="text" name="fullname" id="fullname" class="form-control form-control-user" placeholder="Your Name" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['fullname'], ENT_QUOTES); } ?>" tabindex="1" required><?php    //check for any errors    if (isset($infofn)){       foreach ($infofn as $infofn){            echo '<p class="p-3 text-info">'.$infofn.'</p>';        }    }                                   ?><input id="submit" type="submit" name="submit" value="Create Account" class="btn btn-primary btn-user btn-block" tabindex="6">注册控制.php<?phprequire('../includes/config.php');if(isset($_POST['fullname'])){    //fullname validation    $fullname = $_POST['fullname'];    if (! $user->isValidFullname($fullname)){        $infofn[] = 'Your name must be alphabetical characters';    }   }//if form has been submitted process itif(isset($_POST['submit'])){//if no errors have been created carry on    if (!isset($infofn)){               try {            //insert into database with a prepared statement            $stmt = $db->prepare('INSERT INTO members (fullname) VALUES (:fullname)');            $stmt->execute(array(                ':fullname' => $fullname            ));            $id = $db->lastInsertId('memberID');                        //redirect to index page            header('Location: register.php?action=joined');            exit;        //else catch the exception and show the error.        } catch(PDOException $e) {            $error[] = $e->getMessage();        }    }}
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

您缺少一个表单元素,其action和method属性设置为您的其他脚本和 to post。在这种情况下action应该是registercontrol.php。如果不设置操作,表单将提交给自身,在本例中为register.php.


像这样的事情应该可以解决问题(仅添加第一行和最后一行,其余的是您的代码):


<form action="registercontrol.php" method="post">

    <input type="text" name="fullname" id="fullname" class="form-control form-control-user" placeholder="Your Name" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['fullname'], ENT_QUOTES); } ?>" tabindex="1" required>


    <?php

        //check for any errors

        if (isset($infofn)){

            foreach ($infofn as $infofn){

                echo '<p class="p-3 text-info">'.$infofn.'</p>';

            }

        }                                   

    ?>


   <input id="submit" type="submit" name="submit" value="Create Account" class="btn btn-primary btn-user btn-block" tabindex="6">

</form>


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信