2017-06-21 12 views
0

私はxamppを使用しています。私のファイルはxampp/htdocs/Projectにあります。 私はブラウザでそれを呼び出す方法のため、サイトにPHPコードが表示されると思います:http://localhost:8081/login.phpしかし、私は問題がthatsであるとは確信していません。ログインページにPHPコードと次のステップが表示されます

私のlogin.phpは今、この権利のようなものです:http://imgur.com/a/nCpI1

Login.phpコード:

<!DOCTYPE html> 
<html lang="pt-PT"> 
<head> 
    <meta charset="UTF-8"> 
    <title>LOGIN</title> 
    <link rel="stylesheet" type="text/css" href="styles/menu.css"> 
    <link rel="stylesheet" type="text/css" href="styles/homesheet.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<link href="https://fonts.googleapis.com/css?family=Fira+Sans+Condensed" rel="stylesheet"> 
</head> 
<body> 

<?php 
error_reporting(E_ALL); 

session_start(); 

//Start Database 

$con = mysqli_connect("localhost","root","","loja"); 

// Check connection 
if (!$con) { 
    echo "<div>"; 
    echo "Falha ao conectar ao MySQL: " . mysqli_connect_error(); 
    echo "</div>"; 
} 
if(isset($_SESSION["name"]) && $_SESSION["name"]) 
{ 
    echo "You are already logged in, ".$_SESSION['name']."! <br> I'm Loggin you out M.R .."; 
    unset($_SESSION); 
    session_destroy(); 
    header('Location: login.php'); 
    exit; 
} 

$loggedIn = false; 

$userName = isset($_POST["name"]) ? $_POST["name"] : null; 

$userPass = isset($_POST["pass"]) ? $_POST["pass"] : null; 

if ($userName && $userPass) 
{ 
    $query = "SELECT username FROM login WHERE username = '$userName' AND password = '$userPass'"; 
    $result = mysqli_query($con, $query); 
    $row = mysqli_fetch_array($result); 

    if(!$row){ 
     echo "<div>" 
     echo "Dados invalidos."; 
     echo "</div>" 
    } 
    else { 
     $loggedIn = true; 
    } 
} 

if (!$loggedIn) 
{ 
    echo " 
      <div style='width:500px;'> 
       <h3>Login</h3> 
       <form method='post'> 
        <label>Username</label> 
        <input type='text' name='name' placeholder='Username' value='$userName'/> 
        <label>Password</label> 
        <input type='password' name='pass' placeholder='Password' value='$userPass'/> 
        <button>Login</button> 
       </form> 
      </div> 

      <footer> 
       <h4 style="text-align:right;">Copyright &copy; est.setubal.com</h4> 
      </footer> 
     "; 
} 
else{ 
    echo "<div>"; 
    echo "Iniciou a sessao como: $userName!"; 
    echo "</div>"; 
    header('Location: home.html'); 
    $_SESSION["name"] = $userName; 
} 
?> 
</body> 
</html> 

Session.php:

<?php 
// Establishing Connection with Server by passing server_name, user_id and password as a parameter 
$connection = mysql_connect("localhost", "root", ""); 

// Selecting Database 
$db = mysql_select_db("loja", $connection); 
session_start();// Starting Session 
// Storing Session 
$user_check=$_SESSION['login_user']; 
// SQL Query To Fetch Complete Information Of User 
$ses_sql=mysql_query("select user from login where user='$user_check'",$connection); 
$row = mysql_fetch_assoc($ses_sql); 
$login_session =$row['user']; 
if(!isset($login_session)){ 
mysql_close($connection); // Closing Connection 
header('Location: main.php'); // Redirecting To Home Page 
} 
?> 

私のテーブル名として "ログイン" とパスワードフィールドに入力します。私はログインが正しく機能するようにするために何をしなければならないか教えてくれる新しい目が必要です。

+1

ポート8081をセットアップしましたか?新しい開発には 'mysql_ * 'を使わないでください。 – chris85

+0

ちょうどPHPで始まっているのであれば、そのコードを確実に整理するためのフレームワークから始めましょう。たとえば:[Cakephp3](https://cakephp.org/)..良いブログチュートリアルがありますスクラッチから。 – fabricio

+0

私はそのポートを使用します。私は古いプロジェクトのログインを使用しているので、mysql_ *を使っています。しかし、私はPDOで1つのログインシステムを検索しようとしましたが、それらを使用しようとしましたが、動作しませんでした。 – fabimetabi

答えて

0

私がApacheを開始した推測しているPHPのモジュールは

が欠落していますが、デフォルトの設定はxampp\apache\conf\extra\httpd-xampp.conf

# 
# PHP-Module setup 
# 
LoadFile "F:/xampp/php/php7ts.dll" 
LoadFile "F:/xampp/php/libpq.dll" 
LoadModule php7_module "F:/xampp/php/php7apache2_4.dll" 

<FilesMatch "\.php$"> 
    SetHandler application/x-httpd-php 
</FilesMatch> 
<FilesMatch "\.phps$"> 
    SetHandler application/x-httpd-php-source 
</FilesMatch> 

# 
# PHP-CGI setup 
# 
#<FilesMatch "\.php$"> 
# SetHandler application/x-httpd-php-cgi 
#</FilesMatch> 
#<IfModule actions_module> 
# Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe" 
#</IfModule> 


<IfModule php7_module> 
    PHPINIDir "F:/xampp/php" 
</IfModule> 

<IfModule mime_module> 
    AddType text/html .php .phps 
</IfModule> 

ScriptAlias /php-cgi/ "F:/xampp/php/" 
<Directory "F:/xampp/php"> 
    AllowOverride None 
    Options None 
    Require all denied 
    <Files "php-cgi.exe"> 
      Require all granted 
    </Files> 
</Directory> 

<Directory "F:/xampp/cgi-bin"> 
    <FilesMatch "\.php$"> 
     SetHandler cgi-script 
    </FilesMatch> 
    <FilesMatch "\.phps$"> 
     SetHandler None 
    </FilesMatch> 
</Directory> 
0

に位置していますhttpd.conf

# XAMPP settings 
Include "conf/extra/httpd-xampp.conf" 

httpd-xampp.confが含まれている必要があります表示されます コードはOKです...を入力してくださいではなく8081 ...あなたの問題を解決するかもしれない! それ以外の場合は、httpd.confファイル(xampp app config-> httpd.conf)を探してください!

関連する問題