2015-06-16 62 views
0

嗨,我希望用户在登录后重定向到main div。现在的问题是,它不会工作。 PHP的mysql连接工作正常,但用户不会被重定向到main div。在成功登录到main div后,用户如何重定向?重定向到div元素php

在浏览器中的错误消息:

ERR_TOO_MANY_REDIRECTS

的login.php

<?php 
if(isset($_COOKIE['username'])){ 
    $cookie = $_COOKIE['username']; 
    header('Location: http://' . $_SERVER['HTTP_HOST'] . '/local/mainn.php'); 
} 
else{ 
    $message = array(); 
    if (!empty($_POST)) { 
     if (
      empty($_POST['f']['username']) 

      ) { 
       $message['error'] = 'Es wurden nicht alle Felder ausgefüllt.'; 
      } 
      $mysqli = @new mysqli('localhost', 'root', '', ''); 
       if ($mysqli->connect_error) { 
        $message['error'] = 'Datenbankverbindung fehlgeschlagen: ' . $mysqli->connect_error; 
       } 
       $query = sprintf(
        "INSERT INTO user (username) 
        SELECT * FROM (SELECT '%s') as new_user 
        WHERE NOT EXISTS (
         SELECT username FROM user WHERE username = '%s' 
        ) LIMIT 1;", 
        $mysqli->real_escape_string($_POST['f']['username']), 

        $mysqli->real_escape_string($_POST['f']['username']) 

       ); 


       $mysqli->query($query); 
       if ($mysqli->affected_rows == 1) { 
        $message['success'] = 'Neuer Benutzer (' . htmlspecialchars($_POST['f']['username']) . ') wurde angelegt, <a href="login.php">weiter zur Anmeldung</a>.'; 
        header('Location: http://' . $_SERVER['HTTP_HOST'] . '/local/mainn.php'); 
        $id = $mysqli->insert_id; 
       } else { 

       } 
       $t = time() + 60 * 60 * 60 * 24 * 1000; 
       setcookie("username", $_POST['f']['username'], $t); 
       setcookie("userid", $id , $t); 
       // cookie setzen 
       $mysqli->close(); 
      } 
    } 
    ?> 
    <html> 
    <head> 
     <meta charset="UTF-8" /> 
     <title> 
      HTML Document Structure 
     </title> 
     <link rel="stylesheet" type="text/css" href="style.css" /> 

     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" /> 
     <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> 

     <!-- Einstellungen zur Defintion als WebApp --> 
     <meta name="apple-mobile-web-app-capable" content="yes" /> 
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 

    </head> 
    <body> 

    <div id="wrapper1" name="wrapper1"> 

     <form name="login-form" class="login-form" action="./login.php" method="post"> 

      <div class="header1"> 
      </div> 

      <div class="content1"> 
      <label for="username"></label> 
      <input name="f[username]" type="text" class="input username" placeholder="Username" id="username" 
      /> 

      </div> 

      <div class="footer"> 
      <input type="submit" name="submit" value="Login" class="button" data-theme="b"/> 
      </div> 

     </form> 

    </div> 
    <div class="gradient"></div> 

    <script type="text/javascript"> 

    if(navigator.geolocation) { 

     navigator.geolocation.getCurrentPosition(
             success_handler, 
             error_handler, 
             {enableHighAccuracy:true}); 

     function success_handler(position) { 
      /* Get the location data */ 
      latitude = position.coords.latitude; 
      longitude = position.coords.longitude; 
      accuracy = position.coords.accuracy; 

      document.cookie = 'latitude='+latitude+'; '; 
    document.cookie = 'longitude='+longitude+'; '; 


     } 

     function error_handler() { 
     output.innerHTML = "Unable to retrieve your location"; 
     }; 

    } 





    </script> 
    </body> 
    </html> 

mainn.php:

<body> 
<?php 
include("login.php"); 
?> 

<!-- main Seite --> 
<div data-role="page" id="main"> 
<?php 
include("usercoords.php"); 
?> 

<div data-role="header" data-theme="b" data-position="fixed" data-tap-toggle="false"> 

     <h1>localy</h1> 
     <a href="#popupLogin" data-rel="popup" data-position-to="window" data-transition="pop">range</a> 
<div data-role="popup" id="popupLogin" data-theme="b" class="ui-corner-all"> 
    <form name="login-form" class="login-form" action="./range.php" method="post" style="padding:10px 20px;"> 
     <div class="content"> 
     <label for="slider-fill">Select range:</label> 
<input type="range" name="slider-fill" id="slider-fill" value="5" min="0" max="100" step="1" data-highlight="true"> 
     </div> 
     <div class="footer"> 
     <input type="submit" name="submit" value="create" class="button" data-theme="b"/> 

     </div> 
    </form> 
</div> 
    </div> 

    <div data-role="content"> 

    </div><!-- div content --> 


    <div data-role="footer" data-id="footernav" data-tap-toggle="false" data-position="fixed" data-theme="b"> 
     <div data-role="navbar" data-theme="b"> 
      <ul> 
       <li><a href="#own posts" data-icon="menue" data-transition="fade">own posts</a></li>     
       <li><a href="#main" data-icon="anfahrt" data-transition="fade" class="ui-btn-active">main</a></li> 
       <li><a href="#create post" data-icon="kontakt" data-transition="fade">create post</a></li> 
      </ul> 
     </div><!-- /navbar -->  
    </div><!-- /footer -->    
</div><!-- /page --> 
+0

你有没有想过使用hashtag方法来检测'div id'作为一个页面? - 同样,“ERR_TOO_MANY_REDIRECTS”来自你循环和循环链接 - 因此它看起来像你不断调用重定向 –

+0

好吧,但我怎样才能解决循环? – brabus85

+0

所以你试图做一个登录功能,所以当他们登录。它到了某个页面? –

回答

0

我删除

<?php 
include("login.php"); 
?> 

,并启动与login.php中的应用。