Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以编程方式运行操作而不是使用按钮_Javascript_Php_Css_Html - Fatal编程技术网

Javascript 以编程方式运行操作而不是使用按钮

Javascript 以编程方式运行操作而不是使用按钮,javascript,php,css,html,Javascript,Php,Css,Html,我想一个框,欢迎消息等出现后,在我的网站上的用户注册。但是,我不希望仅仅点击一个按钮就显示出来,而是希望它在电子邮件、密码、用户名等被发送到数据库时发生。因此,与其这样做,不如: <button onclick="document.getElementById('id01').style.display='block'" style="width:auto;">Login</button> 登录 有没有什么方法可以通过编程实现?我也尝试过: <script&g

我想一个框,欢迎消息等出现后,在我的网站上的用户注册。但是,我不希望仅仅点击一个按钮就显示出来,而是希望它在电子邮件、密码、用户名等被发送到数据库时发生。因此,与其这样做,不如:

 <button onclick="document.getElementById('id01').style.display='block'" style="width:auto;">Login</button>
登录
有没有什么方法可以通过编程实现?我也尝试过:

<script>
self  = function(id01)
</script>

自我=功能(id01)
但它不起作用。关于我应该尝试/做什么有什么建议吗

这是我将信息发送到数据库的方式:

//if no errors have been created carry on
    if(!isset($error)){


        $hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT);


        $activasion = md5(uniqid(rand(),true));


        try {


            $stmt = $db->prepare('INSERT INTO members (username,password,email,active) VALUES (:username, :password, :email, :active)');
            $stmt->execute(array(
                ':username' => $_POST['username'],
                ':password' => $hashedpassword,
                ':email' => $_POST['email'],
                ':active' => $activasion
            ));
            $id = $db->lastInsertId('memberID');

            //send email
            $to = $_POST['email'];
            $subject = "Registration Confirmation";
            $body = "<p>Thank you for registering at Game World.</p>
            <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p>
            <p>Regards Site Admin</p>";

            $mail = new Mail();
            $mail->setFrom(SITEEMAIL);
            $mail->addAddress($to);
            $mail->subject($subject);
            $mail->body($body);
            $mail->send();

            //redirect to index page
            header('Location: index.php?action=joined');

?>
//如果没有创建错误,请继续
如果(!isset($error)){
$hashedpassword=$user->password\u散列($\u POST['password'],password\u BCRYPT);
$activasion=md5(uniqid(rand(),true));
试一试{
$stmt=$db->prepare('INSERT-INTO-members(username、password、email、active)值(:username、:password、:email、:active)');
$stmt->execute(数组)(
':username'=>$\u POST['username'],
':password'=>$hashedpassword,
“:email'=>$\u POST['email'],
“:活动”=>$activasion
));
$id=$db->lastInsertId('memberID');
//发送电子邮件
$to=$_POST['email'];
$subject=“注册确认”;
$body=“感谢您在游戏世界注册

要激活您的帐户,请单击此链接:

关于站点管理员

”; $mail=新邮件(); $mail->setFrom(站点电子邮件); $mail->addAddress($to); $mail->subject($subject); $mail->body($body); $mail->send(); //重定向到索引页 标题('Location:index.php?action=joined'); ?>
您可以通过多种方式获得想要的结果,js警报、jquery弹出窗口、引导模式

选项1:

使用jquery和jquery ui

<!-- latest stable  jquery -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>

<!-- latest stable jquery ui -->

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
<?php

    if(isset($_GET['action']) && !empty($_GET['action'])){

        $action = $_GET['action'];

        if($action == "joined"){?>

            <div id="modal" style="display: none;">
                This is pop up, add message.
            </div>
            <script type="text/javascript">
                 $(document).ready(function () {

                         $("#modal").dialog();

                 });
             </script>
    <?php

        }else{

            //action != joined do something
        }

    }else{

        //$GET NOT set do something
    }

这是一个弹出窗口,添加消息。
$(文档).ready(函数(){
$(“#模态”).dialog();
});
欢迎
添加消息

$('document').ready(函数(){ $('success').modal('toggle');}); 警惕(“欢迎”);
您可以使用服务器端语言PHP,在正确返回标头时,使用
$\u GET['action']
$\u REQUEST['action']
index.PHP?action=joined

在DB insert页上创建逻辑,检查查询是否成功。成功后,它将您路由到标头重定向,否则返回错误消息并退出脚本

大概是这样的:

$query = 'INSERT INTO members (username,password,email,active) VALUES (:username, :password, :email, :active)';

$stmt = $db->prepare($query);
$stmt->execute(array(
    ':username' => $_POST['username'],
    ':password' => $hashedpassword,
    ':email' => $_POST['email'],
     ':active' => $activasion
));
//Check to see if your $stmt is set, will return true if successful else it will return false
if($stmt){
    $id = $db->lastInsertId('memberID');

    //send email
    $to = $_POST['email'];
    $subject = "Registration Confirmation";
    $body = "<p>Thank you for registering at Game World.</p>
        <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p>
        <p>Regards Site Admin</p>";

    $mail = new Mail();
    $mail->setFrom(SITEEMAIL);
    $mail->addAddress($to);
    $mail->subject($subject);
    $mail->body($body);
    $mail->send();

        //redirect to index page
    header('Location: index.php?action=joined');
}else{
echo 'Sorry but there was an issue with the INSERT.';
exit();
}
然后在HTML调用变量$message时,使用如下内容:


某个标题
一些页面标题 一些页面内容。

我不是最精通PHP的,但这可能就是我处理服务器端请求的方式。 ***请记住,您是在服务器更新上请求对页面进行更新,而不是像按下按钮这样的客户端操作


希望这能有所帮助。

向我们展示如何将用户名、电子邮件、密码等发送到数据库。然后我们将从中学习AJAXcalls@UnboxingTutorials没有更新here@MasivuyeCokile检查是否要将其置于重定向到索引页下。
<?php

    if(isset($_GET['action']) && !empty($_GET['action'])){

        $action = $_GET['action'];

        if($action == "joined"){?>
        <script type="text/javascript">

            alert('welcome');
        </script>

    <?php

        }else{

            //action != joined do something
        }

    }else{

        //$GET NOT set do something
    }
$query = 'INSERT INTO members (username,password,email,active) VALUES (:username, :password, :email, :active)';

$stmt = $db->prepare($query);
$stmt->execute(array(
    ':username' => $_POST['username'],
    ':password' => $hashedpassword,
    ':email' => $_POST['email'],
     ':active' => $activasion
));
//Check to see if your $stmt is set, will return true if successful else it will return false
if($stmt){
    $id = $db->lastInsertId('memberID');

    //send email
    $to = $_POST['email'];
    $subject = "Registration Confirmation";
    $body = "<p>Thank you for registering at Game World.</p>
        <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p>
        <p>Regards Site Admin</p>";

    $mail = new Mail();
    $mail->setFrom(SITEEMAIL);
    $mail->addAddress($to);
    $mail->subject($subject);
    $mail->body($body);
    $mail->send();

        //redirect to index page
    header('Location: index.php?action=joined');
}else{
echo 'Sorry but there was an issue with the INSERT.';
exit();
}
$message = "";
if(isset($GET['action']) && $GET['action']=="joined"){
    //place your Welcome message here
    $message .= "<h2>Welcome and thank you for signing up!</h2>";

}else{
    $message .= "<h2>Some other message</h2>"; 
    //Or you could go with empty quotes or declare $message NULL
}
<body>
    <div id='wrapper'>
        <header>Some header</header>
        <nav id='nav'>
          <ul>
            <li class="nav-item">
               <a href="#">BUTTON 1</a>
            </li>
            <li class="nav-item">
               <a href="#">BUTTON 2</a>
            </li>
          </ul>
        </nav>
        <div id="content">
            <?=$message?>
            <div id="heading">Some Page Heading</div>
            <div id="">
                <p>
                Some page content.
                </p>
            </div>
        </div>
    </div>
</body>