2012-02-09 104 views
0

我目前正在做一個網頁,我遇到了一些問題,回聲是在一個div容器內。回聲不顯示內部的div但在它之外工作

我的網站目前的設置是這樣的: index.php的標題和左側的導航面板。並有一個bodycontent div,將根據點擊的內容加載到不同的頁面。 我以前曾在我的index.php右下面的代碼我的BodyContent格前:

<?php 
//set the variables 
$username = isset($_POST['username']) ? $_POST['username'] : ''; 
$email  = isset($_POST['email']) ? $_POST['email'] : ''; 
$password = isset($_POST['password']) ? $_POST['password'] : ''; 
$step  = isset($_POST['step']) ? $_POST['step'] : '1'; 

//validation   
if($step=='2'){ 
    if($username == '' || strlen($username)==0){ 
     echo 'username can not be blank<br/>'; 
    } 
    if(filter_var($email, FILTER_VALIDATE_EMAIL) == false){  
     $errors[] = 'invalid email address<br/>'; 
    }  
    if($password == '' || strlen($password)<=4){ 
     $errors[] = 'password can not be blank or less than 4 characters<br/>'; 
    } 
    $username=mysql_real_escape_string(trim($username)); 
    $email=mysql_real_escape_string(trim($email)); 
    $password=md5(mysql_real_escape_string(trim($password))); 
    //mysql queries 
    if(empty($errors)){ 
     //do something  
     $query = " 
      INSERT INTO user 
      (email, username, password, user_level) 
      VALUES 
      ('$email', '$username', '$password', '1')"; 
     $result = mysql_query($query) or die ('error: '. mysql_error()); 
     echo 'new user registered!'; 
     $step='2'; 
    } 
    else{  
     //error output 
     foreach($errors as $errors) 
     echo $errors; 
     $step='1'; 
    } 

} 
if($step=='1'){ 
?> 

我決定這樣的index.php找我清潔移動這段代碼在我registration.php的頁面。 不過,自從我將index.php的代碼移到registration.php後,回聲並沒有顯示出來。如果你需要更多的代碼,我會很樂意發佈更多..我現在不想淹沒。

+0

div在哪裏? – elclanrs 2012-02-09 05:23:19

+0

發佈HTML代碼完整的代碼,以及你如何訪問回聲 – 2012-02-09 05:31:23

+0

更多的代碼是nedded,發佈完整的代碼,以便你可以得到你想要的答案 – 2012-02-09 05:50:59

回答

3

我在您的最終foreach循環注意到:

foreach($errors as $errors)缺少一個左支架;

foreach($errors as $error) { 
// instructions 
} 
+0

正是我要指出的,很好的捕獲。 – 2012-02-09 05:52:36

+0

雖然沒有工作。我認爲這個問題是,當用戶點擊bodycontent div內的提交按鈕時,按鈕的動作是「index.php」。當index.php時,我的頁面會自動加載register.php ..因此,在提交按鈕被按下後,回聲可能會立即被擦除? – Recur 2012-02-09 05:59:21

+0

不,沒有丟失的括號(雖然可以添加括號以提高可讀性,但縮進也可以提高)代碼可以讀取'foreach($ errors as $ errors){echo $ errors; }' – Arjan 2012-02-09 06:01:53

相關問題