2011-04-27 147 views
0

我有一個死亡的白色屏幕出現時,用戶發佈我做的窗體。有趣的是,當我作爲網站的管理員(本網站使用wordpress運行時)在表單中發佈相同的數據並提交它的作品,但是當用戶做它時,它會做白屏和幫助。以下是我正在使用的表單數據和一些其他代碼。窗體上的白色屏幕

這裏是爲組成部分(我知道這是不是偉大的代碼我仍然在學習)

function bio_form(){ 
global $wpdb, $current_user; 

//get current user info 
get_currentuserinfo(); 

$yes = $_GET['submitted']; 

//check log in 
if(!is_user_logged_in()) { 
    //user isnt logged in 
    echo "You must be logged in to use this form"; 
    //show login form 
    if (!(current_user_can('level_0'))){ 
     echo "<h2>Login</h2>"; 
     echo "<form action=" . get_option('home') . "/wp-login.php method='post' enctype='multipart/form-data'>"; 
     echo "<input type='text' name='log' id='log' value='" . wp_specialchars(stripslashes($user_login), 1) . "' size='20' />"; 
     echo "<input type='password' name='pwd' id='pwd' size='20' />"; 
     echo "<input type='submit' name='submit' value='Send' class='button' />"; 
     echo "<p>"; 
     echo "<label for='rememberme'><input name='rememberme' id='rememberme' type='checkbox' checked='checked' value='forever' /> Remember me</label>"; 
     echo "<input type='hidden' name='redirect_to' value=" . $_SERVER['REQUEST_URI'] . " />"; 
     echo "</p>"; 
     echo "</form>"; 
     echo "<a href='" . get_option('home') . "/wp-login.php?action=lostpassword'>Recover password</a>"; 
     //add register link 
    } else { 
     echo "<h2>Logout</h2>"; 
     echo "<a href=" . wp_logout_url(urlencode($_SERVER['REQUEST_URI'])) . ">logout</a><br />"; 
    } 
}else{ 
    $gg = false; 
    if($yes == NULL){ 
     $id = $_GET['enID']; 
     $em = $_GET['em']; 
     $sub = $_GET['submit']; 
     if($id == NULL || $em == NULL){  
      echo "<div align='center'><form action=''>"; 
      echo "<p>Plese use the email you used on the your entry, and the entryID that was generated for your entry.</p>"; 
      echo "Email: <input type='text' name='em' value='$em'></input></br>"; 
      echo "EntryID: <input type='text' name='enID' value='$id'></input></br>"; 
      echo "<input type='hidden' name='submit' value='yes'></input>"; 
      echo "<input type='submit' value='submit'></input></form></div>"; 
    }else{ 
     $sql = "SELECT * FROM `" . WP_BIO_GIRLS_DATA . "`"; 
     $users = $wpdb->get_results($sql); 
     foreach($users as $user){ 
      if(($user->id == $id)&& ($user->email == $em)){ 
       $gg = true; 
       break; 
      } 
     } 
    } 
}else{ 
    $gg = true; 
} 

    if($gg == true){ 
     //user is logged in 
     $sql = "SELECT * FROM `" . WP_BIO_GIRLS . "`"; 
     $users = $wpdb->get_results($sql); 

     //Check to see if user is in GG DB 
     $userThere = false; 

     foreach($users as $user){ 
      if($user->user_id == $current_user->ID){  
       $userThere = true; 
       break; 
      } 
     } 

     //If not in GG DB add to it 
     if($userThere == false){ 
      $sql = "INSERT INTO `" . WP_BIO_GIRLS . "` (user_id,title1,title2,title3,title4,title5,title6,title7,title8,title9,title10,title11,title12,title13,title14,title15) VALUES ($current_user->ID,'What game consoles (if any) do you own & which is your favorite?','What are your Gamertags & corresponding gamerscores for those consoles?','What are your top 3 games? Movies? Favorite Genre?','What nerd icon, hero, or villian do you have a crush on?','What was your first exposure to nerd culture?','What is your dream game?','What would be your ideal character to cosplay?','What do you feel makes nerd culture unique?','What do you feel nerd culture lacks?','How do you feel about professional Video Gaming?','What superpower would you have and would/should you register it?','What is the worst pick up line you have ever heard?','Do you find Murdoc (our mascot) sexy?','How many hours a day would you say you spend nerding out?','How do you envision D-day coming about?')"; 
      $insert = $wpdb->query($sql); 
     } 

     //Place to get post and store data 
     $fName = $_GET['firstname']; 
     $lName = $_GET['lastname']; 
     $email = $_GET['email']); 
     $dName = $_GET['disname']; 
     $enID = $_GET['eid']; 
     $Q1 = $_GET['Q1']; 
     $Q2 = $_GET['Q2']; 
     $Q3 = $_GET['Q3']; 
     $Q4 = $_GET['Q4']; 
     $Q5 = $_GET['Q5']; 
     $Q6 = $_GET['Q6']; 
     $Q7 = $_GET['Q7']; 
     $Q8 = $_GET['Q8']; 
     $Q9 = $_GET['Q9']; 
     $Q10 = $_GET['Q10']; 
     $Q11 = $_GET['Q11']; 
     $Q12 = $_GET['Q12']; 
     $Q13 = $_GET['Q13']; 
     $Q14 = $_GET['Q14']; 
     $Q15 = $_GET['Q15']; 


    if($dName != NULL && $email != NULL && $lName != NULL && $fName != NULL && $enID != NULL && ($_GET['submitted'] != NULL)){ 
     //Call entry id db to see if they are a GG. 
     echo "<div align='center'>Information was saved!!</div>"; 

     //Store database 
     $sql = "UPDATE `" . WP_BIO_GIRLS . "` SET FirstName='$fName', LastName='$lName', Email='$email', DisName='$dName', EID='$enID', text1='$Q1', text2='$Q2', text3='$Q3', text4='$Q4', text5='$Q5', text6='$Q6', text7='$Q7', text8='$Q8', text9='$Q9', text10='$Q10', text11='$Q11', text12='$Q12', text13='$Q13', text14='$Q14', text15='$Q15' WHERE user_id='$current_user->ID'"; 
     $stored = $wpdb->query($sql); 

    }else{ 
     //Need to fill required fields 
     if(($fName == NULL || $lName == NULL || $email == NULL || $dName == NULL || $enID == NULL) && ($_GET['submitted'] != NULL)){ 
      echo "<div align='center'><style>h2 {color:#FF0000;}</style><h2>Please fill out all the required boxes</h2></div>"; 
    } 
     //Old, needs deleted 
     $status = false;  

     $sql = "SELECT * FROM `" . WP_BIO_GIRLS . "`"; 
     $users = $wpdb->get_results($sql);  

     foreach($users as $user){  
      if($user->user_id == $current_user->ID){    
       $status = true;       
       break;  
      } 
     } 

     if($status == false){  
      echo "<div align='center'><h3>Sorry only gamer girls can fill out this form</h3></div>"; 
     }else{ 
      //Show form if all checks pass 

      //get current users current values 
      $sql = "SELECT * FROM `" . WP_BIO_GIRLS . "` WHERE user_id='$current_user->ID'";  
      $users = $wpdb->get_results($sql);  

      //get values from db 
      foreach($users as $user){ 
       $userID = $user->user_id; 
       $fName = $user->FirstName; 
       $lName = $user->LastName; 
       $dName = $user->DisName; 
       $email = $user->Email; 
       $EID = $user->EID; 
       $userQ1T = $user->title1; 
       $userQ1X = $user->text1; 
       $userQ2T = $user->title2; 
       $userQ2X = $user->text2; 
       $userQ3T = $user->title3; 
       $userQ3X = $user->text3; 
       $userQ4T = $user->title4; 
       $userQ4X = $user->text4; 
       $userQ5T = $user->title5; 
       $userQ5X = $user->text5; 
       $userQ6T = $user->title6; 
       $userQ6X = $user->text6; 
       $userQ7T = $user->title7; 
       $userQ7X = $user->text7; 
       $userQ8T = $user->title8; 
       $userQ8X = $user->text8; 
       $userQ9T = $user->title9; 
       $userQ9X = $user->text9; 
       $userQ10T = $user->title10; 
       $userQ10X = $user->text10; 
       $userQ11T = $user->title11; 
       $userQ11X = $user->text11; 
       $userQ12T = $user->title12; 
       $userQ12X = $user->text12; 
       $userQ13T = $user->title13; 
       $userQ13X = $user->text13; 
       $userQ14T = $user->title14; 
       $userQ14X = $user->text14; 
       $userQ15T = $user->title15; 
       $userQ15X = $user->text15; 
      } 
      //create form 
      echo "<style>textarea {resize:none;} table {text-align: center;}</style>";  
      echo "<div align='center' id='form'><h1>Gaming Girls Information Form</h1>"; 
      echo "<h7>* denoted required fields</h7>"; 
      echo "<table cellspacing='20' cellpadding='3'>"; 
      echo "<tr><td><form name='info_form' action='' method='get' ENCTYPE='multipart/form-data'></td></tr>"; 
      echo "<tr><td colspan='2'>*First Name: <input type='text' name='firstname' value='$fName'></input></td></tr>"; 
      echo "<tr><td colspan='2'>*Last Name: <input type='text' name='lastname' value='$lName'></input></td></tr>";  
      echo "<tr><td colspan='2'>*Display Name: <input type='text' name='disname' value='$dName'></input></td></tr>"; 
      echo "<tr><td colspan='2'>*Email: <input type='text' name='email' value='$email'></input></td></tr>"; 
      echo "<tr><td colspan='2'>*OHMS Gaming EntryID: <input type='text' name='eid' value='$EID'></input></td></tr>"; 
      echo "<tr><td>$userQ1T : <TEXTAREA rows='3' cols='30' name='Q1'>$userQ1X</TEXTAREA></td>"; 
      echo "<td>$userQ2T : <TEXTAREA rows='3' cols='30' name='Q2'>$userQ2X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ3T : <TEXTAREA rows='3' cols='30' name='Q3'>$userQ3X</TEXTAREA></td>";    
      echo "<td>$userQ4T : <TEXTAREA rows='3' cols='30' name='Q4'>$userQ4X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ5T : <TEXTAREA rows='3' cols='30' name='Q5'>$userQ5X</TEXTAREA></td>"; 
      echo "<td>$userQ6T : <TEXTAREA rows='3' cols='30' name='Q6'>$userQ6X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ7T : <TEXTAREA rows='3' cols='30' name='Q7'>$userQ7X</TEXTAREA></td>"; 
      echo "<td>$userQ8T : <TEXTAREA rows='3' cols='30' name='Q8'>$userQ8X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ9T : <TEXTAREA rows='3' cols='30' name='Q9'>$userQ9X</TEXTAREA></td>"; 
      echo "<td>$userQ10T : <TEXTAREA rows='3' cols='30' name='Q10'>$userQ10X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ11T : <TEXTAREA rows='3' cols='30' name='Q11'>$userQ11X</TEXTAREA></td>"; 
      echo "<td>$userQ12T : <TEXTAREA rows='3' cols='30' name='Q12'>$userQ12X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ13T : <TEXTAREA rows='3' cols='30' name='Q13'>$userQ13X</TEXTAREA></td>"; 
      echo "<td>$userQ14T : <TEXTAREA rows='3' cols='30' name='Q14'>$userQ14X</TEXTAREA></td></tr>"; 
      echo "<tr><td>$userQ15T : <TEXTAREA rows='3' cols='30' name='Q15'>$userQ15X</TEXTAREA></td></tr>"; 
      echo "<input type='hidden' value='yes' name='submitted'></input>";  
      echo "<tr><td colspan='2'><input type='submit' value='Submit'></input></td></tr>";  
      echo "</form></table></div>"; 
      } 
     } 
    }else{ 
     if($sub == true){ 
      echo "<div align='center'><h1>Not a vaild id</h1></div>"; 
     } 
    } 
} 
} 

如果任何人都可以在這裏幫助,將是巨大的代碼。我想知道它是否與發佈數據有關,例如,這是表單提交時的URL示例。

http://ohmsgaming.com/gaming-girls/gaming-girls-form/?firstname=Lilith&lastname=Crimson&disname=Lilith+Crimson&email=laceylynn325%40yahoo.com&eid=18301743&Q1=Sega+Genesis%2C+Super+Nintendo-2%2C+Nintendo-+2%2C+PlayStation+1%2C+Game+cube%2C+Gameboy%2C+Gameboy+Color%2C+Gameboy+Advanced%2C+Gameboy+SP%2C+Nintendo+64%2C+Xbox+360.&Q2=N%2FA&Q3=Games-%0D%0A1.+Battle+Toads%0D%0A2.+Elder+Scrolls%0D%0A3.+tales+of+symphonia%0D%0A%0D%0AMovies-%0D%0A1.+Labyrinth%0D%0A2.+Strangeland%0D%0A3.+Ace+Ventura+2%0D%0A%0D%0AGenre%0D%0AScifi&Q4=Anthony+Edward+Stark+%28Tony+Stark%2C+Iron+Man%29&Q5=My+Eldest+Brother+and+his+friends+playing+D%26D+and+Magic+the+Gathering+back+in+the+90%27s&Q6=Not+sure+what+you+mean+by+that%2C+but+Skyriim+at+the+Moment.+%0D%0A%0D%0AIf+I+could+create+one%3F+%0D%0A%0D%0AOne+that+takes+place+in+all+time+periods%2C+larger+then+Elder+Scrolls%2C+Being+able+to+create+your+own+fashions+Vastly%2C+weapons%2C+creatures%2C+looks%2C+Kinect+probably+could+take+a+self+scan+and+place+you+into+that+world+and+allow+you+to+live+the+world%2C+as+if+its+your+own+world.&Q7=Poison+Ivy%2C+or+Black+Widow..or+maybe+Red+Sonja.+Really+just+redheaded.+&Q8=The+Ability+to+see+past+reality+and+create+Their+own+Universal+Dimension+if+you+can+say%2C+and+expand+our+minds+into+thinking+%22What+if%22.+%0D%0A%0D%0AThe+nerds+mind+have+been+ubiquitous%2C+and+created+a+vast+reality+of+our+own%2C+making+life%2C+easier+for+some%2C+and+much+more+fun+for+others%2C+and+all+really.+%0D%0A%0D%0ATo+be+a+nerd%2C+isn%27t+just+about+having+brains+anymore%2C+Its+about+having+fun+and+bringing+a+new+level+of+reality+to+all+who+wishes+to+hear+it.&Q9=Pizza.+&Q10=I+think+its+a+great+idea.+Video+gaming+is+a+sport+%28in+its+own+way%29%2C+and+it+allows+gamers+to+pick+up+their+game+and+improve+their+abilities+and+others+learn.+Challenging+skills+allow+those+to+really+see%2C+who+can+kick+A**+and+who+just+need+to+go+home+and+continue+playing+Halo+with+their+friends+at+parties.&Q11=Flying%2FControl+of+Elements+%28really+that+would+be+considered+air%29.+No.+Where+is+the+fun+in+that%3F&Q12=-Hey+girl%2C+what%E2%80%99s+up%3F+Guess+what%3F+It%E2%80%99s+your+lucky+day.+Out+of+all+the+girls+here%2C+I+picked+you+to+talk+to-&Q13=In+a+Sense%2C+yes.+He%27s+very+Attractive.+I+want+to+hug+him+and+feed+him+Cheese+Lol&Q14=Probably+all+day..My+teacher+is+a+huge+nerd%2C+and+all+we+talk+about+is+video+games.+Yes%2C+she%27s+65.+%0D%0A%0D%0AThen+I+come+home%2C+and+pop+in+whatever+game+we+were+talking+about+all+day%2C+or+Oblivion.+Then+spend+the+rest+on+here+on+Deviant+Art+talking+about+Marvel%2C+DC%2C+and+Dark+Horse+Comics%2C+along+with+others.+%0D%0A%0D%0AAlso+D%26D+with+Magic+the+Gathering+with+one+of+my+young+friends+who+is+obsessed+with+them+and+needs+me+to+guide+them+Lol.+So+its+actually+kind+of+forced+sometimes&Q15=Nuclear+Apocalypse%2C+Zombies+then+Follow!&submitted=yes 

這是很長的,並且在它很多東西,我想知道如果這是問題,但正如我所說的,當我用它工作正常,我當我在我登錄同上面的字符串作爲管理員。

對不起,代碼沒有在代碼塊中格式良好。

+0

首先,做一個「查看源代碼」來查看是否輸出了某些東西,但它只是呈現空白頁面。其次,您需要查看Web服務器的錯誤日誌。那裏可能會有一條消息告訴你該頁面中的一些問題。 – Marvo 2011-04-27 05:59:45

+0

我看過錯誤日誌,沒有任何東西。並且沒有源代碼,我相信它與查詢中的%27等代碼有關 – Tempus35 2011-04-27 06:02:36

+0

我通過更改表格的方法修復了它 – Tempus35 2011-04-27 07:56:36

回答

1

白色屏幕通常意味着由於錯誤而崩潰。我建議嘗試添加到php代碼行嘗試搜索錯誤:

print_r(error_get_last());

如果錯誤發生在這條線下面,錯誤不會被打印出來。

另外不要忘記檢查數據庫沒有錯誤返回(mysql,mysqli,PDO ..使用不同的函數來獲取錯誤)。

+0

我添加了那行代碼,但是我沒有看到它在任何地方打印任何東西,行位於函數的頂部 – Tempus35 2011-04-27 06:10:48

+0

嘗試添加print_r(error_get_last());在你的php代碼的底部 – xeranas 2011-04-27 06:12:51

+0

我得到一個錯誤代碼,但與窗體,其他功能無關,在另一個函數中未定義var。 – Tempus35 2011-04-27 06:15:37

1

白色屏幕通常是服務器500錯誤,但是如果有任何不通知瀏覽器的通知。

在您的wp-config.php文件集調試爲true:

define('WP_DEBUG', true); 

然後註銷刷新緩存,清除Cookie,然後嘗試提交表單作爲一個普通用戶,你會得到錯誤信息。

+0

我通過更改表單的方法來修復它 – Tempus35 2011-04-27 07:57:05