Benim şirket oldukça birkaç yıl önce inşa edilmiş bir sitede bazı hatalar temizlik ile görevlendirildi. Ben bunu yazmadım ki ihtar ile burada yayınlamak ve bunu çok güvenli bir giriş sistemi olmadığını biliyoruz kodunu Önsöz istiyor, ama ben sadece eldeki hatayı düzeltmek için tahsis edilmiştir.
SORUN: Kullanıcıların kendi kimlik bilgilerini yeniden yazmak onları gerektiren, sayfa yenilenmesini görünen formu gönderdikten sonra, giriş için gittiğinizde. Hayır giriş hatası rapor ediliyor. Ben sadece bugüne kadar Firefox ve Safari bu sorunu çoğaltmak olabilir. Bir çıkış yapıp tekrar giriş olsaydı Başarılı bir girişten sonra, her şey iyi iş gibi görünüyor. Başlangıçta tarayıcıyı başlatmak ve ilk defa giriş yapmaya hemen sonra bu. Ben de farklı Mac / Windows PC'ler üzerinde bu çoğaltılamaz.
Burada temel giriş sayfası HTML. Ben gereksiz bir şey dışarı kırparak yaşıyorum, ama gerekirse daha kod sağlayabilir.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
<body>
<form name="login" method="post" id="mainform" action="clogin.php">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br />
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br />
<input type="submit" name="Submit" class="button" style="float:right;" value="Login">
</form>
</body>
Burada da yağ için kesilmiş PHP gibidir:
<?php
$db = mysql_connect('***', '***', '***') or die("Couldn't connect to the database.");
mysql_select_db('***') or die("Couldn't select the database");
$result = mysql_query("SELECT count(id) FROM merchants WHERE passw='$_POST[password]' AND usern='$_POST[username]'") or die("Couldn't query the user-database.");
$num = mysql_result($result, 0);
if (!$num) {
// When the query didn't return anything,
// display the login form.
$message = "Login Failed: Incorrect username or password";
header('Location: login.php?message='.$message);
} else {
// Start the login session
session_start();
// All output text below this line will be displayed
// to the users that are authenticated. Since no text
// has been output yet, you could also use redirect
// the user to the next page using the header() function.
header('Location: merchants/index.php');
}
Herkes aramaya başlamalıdır nerede bir fikir var mı? Benim ilk düşünce belki form gerçekten tam teslim olmasıdır? Bu oluyor eğer nasıl söyleyebilir? Herhangi bir ipucu veya işaretçiler olurdu. Ben şahsen bu neden olabilir bir "kod" sorunu bulamıyorum.