Здравейте искам да попитам:
Имам една форма която въвеждам някакви данни.
След това има един
и правя проверки за валидност на данните.
И след проверката следва, един if да вкарва попълните полета в базата данни. Искам да направя след като се вкара информацията в базата данни да не изкарва формата, а само когато има проблем с данните.
Ето го кога. Начинаещ съм в PHP и ще съм благодарен ако има критики по моя код, за да подобря писането на PHP.
Имам една форма която въвеждам някакви данни.
След това има един
Код:
if (isset($_POST["submit"])) {
И след проверката следва, един if да вкарва попълните полета в базата данни. Искам да направя след като се вкара информацията в базата данни да не изкарва формата, а само когато има проблем с данните.
Ето го кога. Начинаещ съм в PHP и ще съм благодарен ако има критики по моя код, за да подобря писането на PHP.
PHP:
<?php
@session_start();
error_reporting(E_ERROR | E_WARNING | E_PARSE);
include("secrets.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
?>
<form action="index.php" method="post">
<table>
<tr>
<td>real name:</td>
<td><input type="text" name="realname" /><br /></td>
</tr>
<tr>
<td>password:</td>
<td><input type="password" name="password" /><br /></td>
</tr>
<tr>
<td>user name:</td>
<td><input type="text" name="username" /><br /></td>
</tr>
<tr>
<td>email:</td>
<td><input type="text" name="email" /><br /></td>
</tr>
<tr>
<td>adress:</td>
<td><input type="text" name="address" /><br /></td>
</tr>
<tr>
<td>tel:</td>
<td><input type="text" name="tel" /><br /></td>
<tr>
<td style="text-align: center;"><input type="submit" value="submit" name="submit" /></td>
</tr>
</table>
</form>
<?php
// variables
$realname = $_POST["realname"];
$username = $_POST["username"];
$email = $_POST["email"];
$address = $_POST["address"];
$tel = $_POST["tel"];
$password = md5($_POST["password"]);
if (isset($_POST["submit"])) {
// checks
$sqlcheck = "SELECT `username` FROM `users` WHERE `username` = '$username' OR `email` = '$email' ";
$resultcheck = mysql_query($sqlcheck);
$num = mysql_num_rows($resultcheck);
if ($num > 0) {
echo "dublicate";
$error = true;
}
if (empty($_POST["realname"])
OR empty($_POST["username"])
OR empty($_POST["email"])
OR empty($_POST["address"])
OR empty($_POST["tel"])
OR empty($_POST["password"])) {
echo "empty";
$error = true;
}
if (!preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/i", $email)) {
echo "invalid email";
$error = true;
}
if (!preg_match("/^[0-9]*$/", $tel)) {
echo "wrong number";
$error = true;
}
//Insert in mysql
if ($error == false) {
$sql = "INSERT INTO `users` (`realname`,`username`,`email`,`address`,`tel`,`password`)
VALUES('$realname','$username','$email','$address','$tel','$password')";
$res = mysql_query($sql) or die(mysql_error());
}
}
?>
</body>
</html>