窗体上的白色屏幕

问题描述:

我有一个死亡的白色屏幕出现时,用户发布我做的窗体。有趣的是,当我作为网站的管理员(本网站使用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

白色屏幕通常意味着由于错误而崩溃。我建议尝试添加到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

白色屏幕通常是服务器500错误,但是如果有任何不通知浏览器的通知。

在您的wp-config.php文件集调试为true:

define('WP_DEBUG', true); 

然后注销刷新缓存,清除Cookie,然后尝试提交表单作为一个普通用户,你会得到错误信息。

+0

我通过更改表单的方法来修复它 – Tempus35 2011-04-27 07:57:05