Регистрация за сайт

ivcho02

Registered
Здравейте.Много харесвам сайта а само регистрация си нямам .Всичко друго (форум,чат,календар,калкуатор......) ги имам но само регистрация нямам.Ето и каква грешка ми излиза.



Notice: Undefined index: logged in C:\Program Files\EasyPHP-5.3.6.0\www\a\login.php on line 16


ето и кода
Код:
<?php
//Логин скрипт
//Бен Спеекмен
session_start();
header("Cache-control: private");
?>
<html>
<head>
<title>Logged-in</title>
</head>
<body>
<?php

$datafile="data.txt"; //Името на файла кадето ще се записва информацията за потребителя

if($_GET['logged'] == "login") {

if(!isset($_POST['username']) || !isset($_POST['password'])){ //Това проверява дали всички полета са наред
error_message("Едно или повече задължителни полета трябва да бъдат попълнени!", $username, $password);
}

$file = file($datafile);
while(list(,$value) = each($file)) {
list($fname,$femail,$furl,$fuser,$fpass,$blank) = explode('|', $value);
if($_POST['username'] == $fuser && $_POST['password'] == $fpass){


$_SESSION['name'] = $fuser;
$_SESSION['realname'] = $fname;
$_SESSION['url'] = $furl;
$_SESSION['email'] = $femail; //adds the users data to the php session
$_SESSION['pass'] = $fpass;



//можеш да използваш . $_SESSION['name'] . за юзернейм
//вмесно name можеш да сложиш username,url,email за да ти покаже като се логнеш
?>

Здравей . $_SESSION['realname'] !!!<br>
Приятно сърфиране ! <br>
Виж профила си от <a href="profile.php">тук</a><br>
или излез от <a href="logout.php">тук</a>.

</body>
</html>


<?php
$logink = true;
}
}

if($logink !== true) {
?>
Влизането неуспешно -грешно име или парола
<?

}
} elseif($_GET['action'] == 'change') {

if(!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['url']) || !isset($_POST['newpass'])) {

//това проверява дали всички полета са попълнени
?>
all fields were not filled in
<?
}

$file = file($datafile);
while(list(,$value) = each($file)){
list($fname,$femail,$furl,$fuser,$fpass) = explode('|', $value);
if($_SESSION['name'] == $fuser){

//opens data file to change it

$oldword = "$fname|$femail|$furl|$fuser|$fpass|";
$newword = $_POST['name'] . '|' . $_POST['email'] . '|' . $_POST['url'] . '|' . $_SESSION['name'] . '|' . $_POST['newpass'] . '|';
$fp = fopen($datafile, 'r');
$data = fread($fp, filesize($datafile));
fclose($fp);
$newdata = str_replace($oldword, $newword, $data);
$fp = fopen($datafile, 'w');
fwrite($fp,$newdata) or die ('error writing');
fclose($fp);

$succ = true; //проверява дали е променено усешно
?>
Всичко беше променено успешно моля <a href="user.php">влез</a>
<?

$_SESSION['name'] = FALSE;
$_SESSION['pass'] = FALSE;
$_SESSION['url'] = FALSE;
$_SESSION['realname'] = FALSE;
$_SESSION['email'] = FALSE;

}
}
if($succ !== true) {
?>
Влизането неупешно -грешно име или парола
<?php
}
} else {
exit();
}
?>



Това ми е единствената грешка моля помогнете ми .
 
Сложи е тоя ред
Код:
error_reporting(E_ALL & ~E_NOTICE);
в началото на кода. По тизи начин няма да ти се показват notice грешките
 
Meniak каза:
Сложи е тоя ред
Код:
error_reporting(E_ALL & ~E_NOTICE);
в началото на кода. По тизи начин няма да ти се показват notice грешките
Според мен е по добре да се намери друго решение на проблема защото така като дава грешка и забраняваш да се показва грешката значи има проблем по кода ти и лесно може да се хакне това е съвет само :).
 
Код:
logged
Предполагам,че това е индексът на сесията,затова недей да спираш предупрежденията,а си оправи кода.Това се орпавя като провериш дали е сетната сесията

PHP:
if (isset($_SESSION['islogged'])){
LOGNAT
}
else {
NE E LOGNAT
}
 

Back
Горе