开发者

why this code work on local host and not work on hosting

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar">
    <head>
            <meta http-equiv="content-type" content="text/html;charset= utf-8" />
                <link rel="stylesheet" type="text/css" href="style.css" />
        <title>ahmed fakhr el din</title>
    </head>


    <body>

<div id="regform">
<h2> نموذج تسجيل</h2>
<?php

    if(isset($_POST['submit'])){// Click on complete button

        $error=array();
        if(empty($_POST['uname']) || trim($_POST['uname'])=="")
            $error[]="خطأ : خانة اسم المستخدم Ùارغة";
        if(empty($_POST['fname']) || trim($_POST['fname'])=="")
            $error[]="خطأ:خانة الاسم الاول Ùارغة";
        if(empty($_POST['password']) || trim($_POST['password'])=="")
            $error[]="خطأ : خانة الكلمة السرية Ùارغة";
        if(empty($_POST['password2']) || trim($_POST['password2'])=="")
            $error[]="خطأ خانة  تأكيد الكلمة السرية Ùارغة";
        if(empty($_POST['email'])|| trim($_POST['email'])=="")
            $error[]="خطأ : خانة البريد الالكتروني Ùارغة";
        if(empty($_POST['email2'])|| trim($_POST['email2'])=="")
            $error[]="خطأ : خانة تأكيد البريد الالكتروني Ùارغة";
        if(empty($_POST['age'])|| trim($_POST['age'])=="")
            $error[]="خطأ :خانة العمر Ùارغة";

        if(strlen($_POST['uname'])<4)
            $error[]="حطأ :  يجب ان يتكون اسم المستخدمن اكثر 4 حروÙ";

        if(strlen($_POST['password'])<4 || strlen($_POST['password2'])<4)
            $error[]="خطأ الكلمة السرية يجب ان تتكون من اكثر من 6 حروÙ";

        if($_POST['password']!=$_POST['password2'])
            $error[]="خطأ : الكلمات السرية غير متطابقة";
            //Validating Emails 

            if(!preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email'])
                ||
                !preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email2']))
        $error[]="خطأ: البريد الالكتروني غير صالح";



        if($_POST['email']!=$_POST['email2'])
            $error[]="خطأ : البريد الالكتروني غير متطابق";

        if(!is_numeric($_POST['age']))
            $error[]="خطأ : العمر المدخل ليس قيمة رقمية";


if(sizeof($error)>0){
            echo "<div id=\"error\">";
            echo "<ul>";                
    foreach($error as $k=>$v){
            echo "<li> ";
            echo $v;
            echo "</li>";           
        }
            echo "</ul>";
            echo "</div>";

        }


            else{
        include "conf.php";
                // Random confirmation code
                $confirm_code=uniqid(rand());
                $username=$_POST['uname'];
                $fname=$_POST['fname'];
                $password=$_POST['password'];
                $email=$_POST['email'];
                $age=$_POST['age'];
                $gender=$_POST['gender'];
                $adduser= mysql_query("INSERT INTO USERS VALUES('$confirm_code','$username','$fname','$password','$email','$age','$gender')");
                 // send e-mail to ...
                  $to=$email;

                 // Your subject
              $subject="Your confirmation link here";

                   // From
              $header="from: your name <your email>";

                   // Your message
              $message="Your Comfirmation link \r\n";
              $message.="Click on this link to activate your account \r\n";
              $message.="http://www.sufiacademy.net/confirmation.php?passkey=$confirm_code";
                        // send email
              $sentmail = mail($to,$subject,$message,$header);
                if($adduser and $sentmail){

                    echo "<div id=\"succes\">";
                    echo "  register succesfully";
                    echo "</div>";

                }

            }

        }



?>
    <ul>
    <form method=开发者_Python百科"post" action="index.php">
        <li><label>اسم المستخدم :</label> <span><input type="text" name="uname" /></span> </li>
        <li><label> الاسم الاول: </label> <span><input type="text" name="fname" /></span></li>
        <li><label> الكلمة السرية: </label> <span><input type="password" name="password" /></span> </li>
        <li><label> تأكيد الكلمة السرية: </label>  <span><input type="password" name="password2" /></span></li>
        <li><label> البريد الالكتروني: </label>  <span><input type="text" name="email" /></span></li>
        <li><label> تأكيد البريد الالكتروني: </label>  <span><input type="text" name="email2" /></span> </li>
        <li><label> العمر: </label>  <span><input type="text" name="age" /></span></li>
        <li><label> الجنس: </label><span><select name="gender"><option>ذكر</option> <option>انثى</option> </select> </span> </li>
        <li> <input type="submit" class="submit" value="اكمال" name="submit"/> </li>
        </form>
    </ul>

</div>
</body>
</html>


Perhaps a problem with the server's character set? Without more spezifications about the problem, I can'g make a better guess...

EDIT:

Also if you are not going to fill every column in the table or not inserting the values in the right order, you need to specify the columns you are going to insert to, like this:

INSERT INTO tbl_name (col1,col2) VALUES( "val1" ,"val2");

(See MySQL reference)

It's also not a good idea, to write the users input in the table as he made it, use

mysql_real_escape_string($_POST[...]);

at least to avert SQL injection.


Does the server have a valid mail configuration? Verify, that the mail() function works and can send emails!

You should also check that the database is created using UTF-8 encoding. Check it's charset.

Maybe you should also check if the table is called USERS or users. MySQL is case-sensitive.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜