1

phpでお問い合わせフォームを作成しています。すべてを入力して送信を押すと、特定のメールアドレスにメッセージが送信されません。いくつかのエラーメッセージが表示されます。

エラーメッセージ:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect 
to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.91
/maaks/www/hotel/eng/resellers.php on line 93

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the 
server could not be established in /homez.91/maaks/www/hotel/eng/resellers.php on line 
93

etc.....

PHpコード:

<?php
        if(isset($_POST['Send']) && $_POST['Send'] == "Submit")
        {
            $fname = mysql_real_escape_string($_POST['fname']);
            $email = mysql_real_escape_string($_POST['email']);
            $conum = mysql_real_escape_string($_POST['conum']);
            $country = mysql_real_escape_string($_POST['country']);
            $find = mysql_real_escape_string($_POST['find']);
            $msg = mysql_real_escape_string($_POST['msg']);

            $err = array();


if(isset($fname) & isset($email) & isset($conum) & isset($country) & isset($find) & 
isset($msg))
            {

if(empty($fname) & empty($email) & empty($conum) & empty($country) & empty($find) & 
empty($msg))
                {
                    $err[] = "All field require";
                }
                else
                {
                    if(empty($fname))
                    $err[] = "Your first name require";
                }

            }
            else
            {
            if(!empty($err))
              {
                  foreach($err as $er)
                    {
                               echo "<font color=red>$er</font><br/>";
                    }
              }
            else
            {
                $to = "creativeart09@yahoo.com";
                $subject = "Message from Customer";
                        $message = "$msg";                                              
                        $from = "$email";
                        $headers = "From:" . $from;
                        mail($to,$subject,$message,$headers);

                if(mail())
                    {

                    echo "<script>";
                            header("Refresh: 0; url=Thankyou.html");
                    echo "</script>";
                    }
                    else
                    {
                        echo "Something is wrong" . mysql_error();
                    }
                }
            }

        }           

 ?>

私のコードの何が問題になっていますか?

4

1 に答える 1

1

関数を使用する前に、mysqlデータベースに接続する必要がありmysql_real_escape_stringます。また、mysql_ *はphpで非推奨になり、データベース作業にはmysqliまたはpdoを使用する必要があります。

また、mysql_real_escape_stringインジェクションの試みからmysqlデータベースを保護することを目的としていますが、メールを送信しているだけです。

于 2012-11-02T04:23:04.383 に答える