2009-12-10 137 views
0

我的php腳本正在使用本地主機,但是在線上傳後它顯示出一個空白頁面。安裝在本地主機上的版本php重定向

PHP 5.2.6 PHP 生產環境5.1.4版

<?php 
define('INCLUDE_CHECK',true); 
require 'connect.php'; 
session_start();       
php require 'function.php';  
?> 

<html> 
<head> 
</head> 
<body> 
session_name('smsapp'); 
session_start(); 
$fname = mysql_real_escape_string($_POST['fname']); 
$name = mysql_real_escape_string($_POST['name']); 
$email =mysql_real_escape_string($_POST['email']); 
$phone = mysql_real_escape_string($_POST['phone']); 
$pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6); 
$str = "INSERT INTO members(fname, name, pass, phone, email, regIP, dt, level) 
     VALUES(
       '".$fname."', 
       '".$name."', 
       '".md5($pass)."', 
       '".$phone."', 
       '".$email."', 
       '".$_SERVER['REMOTE_ADDR']."', 
        1, 
        NOW() 
    )" ; 
mysql_query($str); 

if(mysql_affected_rows($link) == 1 && 
    ($_SESSION['security_code'] == $_POST['security_code'])) 
{ 
    echo "Password will be sent to you by sms."; 
    $url = "http://sms.kohlihosting.com/sendsmsv2.asp? 
      user=username& 
      password=12345& 
      sender=kohli& 
      text=Your+password" . $pass . "& 
      PhoneNumber=".$phone; 

    $homepage = file_get_contents($url) ; 
} 
else if(!($_SESSION['security_code'] == $_POST['security_code'])) 
{ 
    echo "Please Input correct letters "; 
} 
else 
{ 
    echo "Not registered"; 
} 
?> 

安裝這是一個正在本地主機,但不能上網的代碼。

+1

此代碼非常難以閱讀您在本文中格式化的方式。 – Roman 2009-12-10 06:15:37

+0

另外,您的第二個<?php開頭標籤在哪裏?看起來你需要在之後。這並不能解釋爲什麼它可以在本地主機上運行。 – Roman 2009-12-10 06:24:43

+0

對不起!我的編碼wa太差了 – nicky 2009-12-10 06:24:53

回答

1

另一種可能性是,服務器中的php.ini禁用了顯示警告。並且由於某些原因您無法連接到數據庫,並且不顯示警告/錯誤。

在您的連接代碼中,您可以嘗試使用connect() or die('something')語句。這樣,如果它連接失敗,您會看到一條錯誤消息。

即使在這種情況下,您應該看看是否生成了警告/錯誤消息,並且由於php.ini中的設置而未顯示,您可能需要暫時更改它。

+0

謝謝。問題僅在於連接性 – nicky 2009-12-10 07:04:54

0

我的猜測是,您的主機不允許URL訪問(出於安全原因)當您使用file_get_contents

如果你有特權,可以在php.ini中打開URL訪問:

allow_url_fopen = On