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>