這是我的第一個php代碼,它可能會充滿問題:)
我想註冊訪問我的網站的人的信息。我的主要問題是,SQL中的FARSI單詞沒有正確註冊並顯示錯誤的字符。 我試圖使用N來使它unicode,但它不適合我。也許我錯了。 我也試過給每個人一個獨特的ID,但我無法想象如何。 我的FARSI零件的sql排序規則是utf8波斯語ci。我正在使用phpmy管理員,並試圖在其中創建nvarchar,但它只提供varchar。
這是我的第一個問題和第一個PHP代碼,所以請原諒我如果它太基本了。用戶在php和sql中註冊。波斯語輸入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
<?php
$name = $_POST["name"];
$familyname = $_POST["familyname"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$pass = $_POST["pass"];
$pass2 = $_POST["pass2"];
$id = 100;
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === true) {
echo("$email صحیح نمی باشد");
} else {
$con = mysqli_connect("localhost","","","register");
$name = mysqli_real_escape_string($con, $_POST['name']);
$familyname = mysqli_real_escape_string($con, $_POST['familyname']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$phone = mysqli_real_escape_string($con, $_POST['phone']);
$pass = mysqli_real_escape_string($con, $_POST['pass']);
$pass2 = mysqli_real_escape_string($con, $_POST['pass2']);
mysqli_query($con,"INSERT INTO users (`name17`, `familyname17`, `email17`, `phone17`, `pass17`, `id17`) VALUES ('$name', '$familyname', '$email', '$phone', '$pass', '$id')");
$result = mysqli_query($con,"select * from users where email17 ='$email' and pass17 = '$pass' and familyname17 = '$familyname'")
or die("faild to query database".mysql_error());
$row = mysqli_fetch_array($result,MYSQLI_BOTH);
if (empty($name) || empty($familyname) || empty($email) || empty($phone) || empty($pass) || empty($pass2)) {
echo "لطفا اطلاعات را بطور کامل وارد فرمایید";
}
else {
if ($row['email17']==$email && $row['pass17'] == $pass2){
echo "<body style='direction: rtl !important;'>";
echo "<b>".$row['name17']." <b>";
echo "عزیز. خوش آمدید<br> ";
echo '<img src="images/takhfif.jpg" alt="تخفیف" />';
} else {
echo "خطا در ثبت نام.لطفا دوباره تلاش کنید";
}
}
}
?>
</body>
</html>
嘗試utf8_general_ci – Shan
問題已經在這裏找到答案http://stackoverflow.com/questions/6642755/insert-a-persian-text-in-mysql-table:
$con = mysqli_connect("localhost","db_user","db_pass","db_name");
連接到數據庫使用此代碼後, –[在mysql表中插入一個波斯語文本]可能的重複(http://stackoverflow.com/questions/6642755/insert-a-persian-text-in-mysql-table) – carmine