试图找出如何写这篇文章,但由于某些原因无法开始解决这个问题。
请在下面找到我想要实现的概念。
4位数用户的用户类型(在MySQL上检查)。一旦pin类型和提交将根据MySQL重定向到相关的URL。
DB:
|--Name----|--PIN---|-----URL--------|
|--Ryan----|--1987--|-3f5df55.php----|
|--Mel-----|--1474--|-34n31ss.php----|
请帮忙,因为我完全被困在哪里开始。
答案 0 :(得分:1)
HTML
,PHP
和mysqli_*
prepared statement。Name
,PIN
和URL
列的表格的名称是什么?header()
将页面重定向到输入的PIN的相应网址。首先我们创建一个表单:
<html>
<body>
<!-- PHP CODE HERE -->
<form action="" method="POST">
<input type="number" name="pin" placeholder="4 DIGIT PIN" min="1000" max="9999" required>
<input type="submit" name="submit-form">
</form>
</body>
</html>
然后创建一个接受表单的PHP脚本(你可以把它放在表单上面):
<?php
if(isset($_POST["submit-form"])){
/* ESTABLISH CONNECTION FIRST TO YOUR DATABASE */
$con = new mysqli("YourHost", "YourUsername", "YourPassword", "YourDatabase"); /* REPLACE NECESSSARY DATA */
/* CHECK THE CONNECTION */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if($stmt = $con->prepare("SELECT URL FROM table_name WHERE PIN = ?")){ /* CHECK IF THE PREPARED STATEMENT IS TRUE */
$stmt->bind_param("i",$_POST["pin"]); /* BIND THE PASSED ON ENTERED PIN TO THE QUERY */
$stmt->execute(); /* EXECUTE THE QUERY */
$check = $stmt->num_rows; /* STORE THE NUMBER OF RESULTS */
if($check > 0){ /* CHECK IF THERE IS FOUND */
$stmt->bind_result($url); /* BIND THE RESULT TO THIS VARIABLE */
$stmt->fetch(); /* FETCH THE RESULT */
header("LOCATION:".$url); /* REDIRECT THE PAGE TO THE CORRESPONDING URL */
}
else { /* IF NO PIN NUMBER FOUND IN THE DATABASE */
echo "Invalid PIN Number";
}
$stmt->close(); /* CLOSE THE PREPARED STATEMENT */
} /* END OF PREPARED STATEMENT */
} /* END OF ISSET */
?>