Mam problem. Po kliknieciu przyciusku rejestruj w moim formularzu, bez wypelnienia pol obok powinny pojawic sie bledy ze niewypelnione pola. Formularz jest przesylany do process.php. Zamiast tego pojawia mi sie komunikat: " Fatal error: Cannot redeclare class MySQLDB in C:\xampp\htdocs\Strona\include\database.php on line 14" No ale dobra (w pliku glownym index.php mam include session.php). Z pliku process.php skasowalem tego samego includa bo wlasnie byl zdublowany... ale zamiast tego teraz pojawia sie komunikat: "
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Strona\index.php:19) in C:\xampp\htdocs\Strona\process.php on line 111". Czy ktos moze mi pomoc z tym problemem?
Plik process.php
<?php
class Process
{
/* Class constructor */
function Process(){
/* User submitted login form */
if(isset($_POST['sublogin'])){ $this->procLogin();
}
/* User submitted registration form */
else if(isset($_POST['subjoin'])){ $this->procRegister();
}
/* User submitted forgot password form */
else if(isset($_POST['subforgot'])){ $this->procForgotPass();
}
/* User submitted edit account form */
else if(isset($_POST['subedit'])){ $this->procEditAccount();
}
/**
* The only other reason user should be directed here
* is if he wants to logout, which means user is
* logged in currently.
*/
else if($session->logged_in){
$this->procLogout();
}
/**
* Should not get here, which means user is viewing this page
* by mistake and therefore is redirected.
*/
else{
}
}
/**
* procLogin - Processes the user submitted login form, if errors
* are found, the user is redirected to correct the information,
* if not, the user is effectively logged in to the system.
*/
function procLogin(){
/* Login attempt */
$retval = $session->login($_POST['user'], $_POST['pass'], isset($_POST['remember']));
/* Login successful */
if($retval){
header("Location: ".$session->referrer); }
/* Login failed */
else{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer); }
}
/**
* procLogout - Simply attempts to log the user out of the system
* given that there is no logout form to process.
*/
function procLogout(){
$retval = $session->logout();
}
/**
* procRegister - Processes the user submitted registration form,
* if errors are found, the user is redirected to correct the
* information, if not, the user is effectively registered with
* the system and an email is (optionally) sent to the newly
* created user.
*/
function procRegister(){
/* Convert username to all lowercase (by option) */
if(ALL_LOWERCASE){
}
/* Registration attempt */
$retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email']);
/* Registration Successful */
if($retval == 0){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = true;
header("Location: ".$session->referrer); }
/* Error found with form */
else if($retval == 1){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer); }
/* Registration attempt failed */
else if($retval == 2){
$_SESSION['reguname'] = $_POST['user'];
$_SESSION['regsuccess'] = false;
header("Location: ".$session->referrer); }
}
/**
* procForgotPass - Validates the given username then if
* everything is fine, a new password is generated and
* emailed to the address the user gave on sign up.
*/
function procForgotPass(){
global $database, $session, $mailer, $form; /* Username error checking */
$subuser = $_POST['user'];
$field = "user"; //Use field name for username
if(!$subuser || strlen($subuser = trim($subuser)) == 0
){ $form->setError($field, "* Username not entered<br>");
}
else{
/* Make sure username is in database */
!eregi("^([0-9a-z])+$", $subuser) || (!$database->usernameTaken($subuser))){
$form->setError($field, "* Username does not exist<br>");
}
}
/* Errors exist, have user correct them */
if($form->num_errors > 0){
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
}
/* Generate new password and email it to user */
else{
/* Generate new password */
$newpass = $session->generateRandStr(8);
/* Get email of user */
$usrinf = $database->getUserInfo($subuser);
$email = $usrinf['email'];
/* Attempt to send the email with new password */
if($mailer->sendNewPass($subuser,$email,$newpass)){
/* Email sent, update database */
$database->updateUserField($subuser, "password", md5($newpass)); $_SESSION['forgotpass'] = true;
}
/* Email failure, do not change password */
else{
$_SESSION['forgotpass'] = false;
}
}
header("Location: ".$session->referrer); }
/**
* procEditAccount - Attempts to edit the user's account
* information, including the password, which must be verified
* before a change is made.
*/
function procEditAccount(){
/* Account edit attempt */
$retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], $_POST['email']);
/* Account edit successful */
if($retval){
$_SESSION['useredit'] = true;
header("Location: ".$session->referrer); }
/* Error found with form */
else{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer); }
}
};
/* Initialize process */
$process = new Process;
?>
czesc pliku index.php
<?php
include("/include/session.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="top">
<div id="NAGLOWEK"></div>
<div id="MENUGORNE">
<?php
include("/components/menugorne.html");
?>
</div>
<div id="NAW1"></div>
<div id="MENU">
<?php
.
.
.
Z gory dzieki za pomoc
Ten post edytował kubatur0 11.04.2010, 16:41:39