-1

私は問題を解決しますありがとうございましたすべてのphpコードをページの最初の行(ヘッダーセクションの上)に移動しますユーザーが間違った電子メールを送信した場合を除いて、本文に残します^_^


ユーザーがすでにメンバーであるかどうかを確認するこのログインコードがあります。

<?php
$con=mysql_connect("localhost","root","") or die(mysql_error());

mysql_select_db("mydb")or die("error in selecting db");

    $email = $_POST['email'];
    $password = $_POST['password'];
    if( $email && $password)
    {
   $query = "select * from users where email = '$_POST[email]' and password = '$_POST[password]'";

  $result  = mysql_query($query, $con); 
$num_rows = mysql_num_rows($result);
  $record = mysql_fetch_array($result);

  if ($num_rows > 0) {
session_start();

$_SESSION['email'] = $_POST['email'];
$_SESSION['password'] = $_POST['password'];
header("Location: home.php");
}
else
{    
echo "<h3><br><br><font>Error in Password or email </font><br> <br> 
<font>
  if you are new plz register here </a> <br></font>";

    echo "</h3>";

}
    } else{ echo "<h3><br><br> You Enter any thing , Try again<br> <br> ;}
?> 

ユーザーが正しい電子メールとパスワードを入力すると、次のようになります。

警告: session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません - C:\wamp\www\vwl のヘッダーは既に送信されています (C:\wamp\www\vwl\login.php:122 で開始された出力) \login.php 170 行目

警告: ヘッダー情報を変更できません - 174 行目の C:\wamp\www\vwl\login.php の (C:\wamp\www\vwl\login.php:122 で出力が開始された) ヘッダーが既に送信されています

彼が正常に入力したときにウェルカムを出力するコードは次のとおりです。

<?php
//     session_start();
//connect to db

if (isset($_COOKIE["email"]) && isset($_COOKIE["password"])) {
                                        $query = "select * from users where email = '$_COOKIE[email]' and password = '$_COOKIE[password]'";
} else {
$query = "select * from users where email='$_SESSION[email]' and password='$_SESSION[password]'";
}

$result = mysql_query($query, $con);

echo "<table border = 0>";

$record = mysql_fetch_array($result);

if ($record) {


echo "<tr><td>$record[email]</td>
<td>
</td></tr><br><br>";
} else {
header("Location: login.php");
}
echo "</table>";

?>
4

4 に答える 4

0

の上に空白または何かがありますsession_start。これにより、そのエラーが発生します。後の絶対的な最初の行にしたい<?php

于 2013-04-12T18:51:35.080 に答える
0

Cookie ベースのセッションを使用するには、ブラウザーに何かを出力する前に session_start() を呼び出す必要があります。

(ドキュメント)

于 2013-04-12T18:50:55.410 に答える
0

session_startの後に最初の行を書き、<?phpSQL インジェクションの基本を学びましょう。

于 2013-04-12T18:54:26.350 に答える