Jump to content

downgrading my php


patchido

Recommended Posts

Hi, i made an application in my local machine, now that i am done im am going to be plalcing the files into a running server. They told me that the php version is 5.2.5 while my server version is 5.4.3. when i tried running my files int the server i got this errors.

 

 

 



Warning: include(/includes/footer.php) [function.include]: failed to open stream: No such file or directory inE:\xampplite\htdocs\Mensajeria\index.php on line 12

Warning: include() [function.include]: Failed opening '/includes/footer.php' for inclusion (include_path='.;E:\xampplite\php\pear\') in E:\xampplite\htdocs\Mensajeria\index.php on line 12

 

 

 

What is this mistake? I know it is the version becuase i installed 5.2.5 version via wamp and it creates the same error, help plz!

 

 

ThX!!

Link to comment
Share on other sites

The paths shouldn't have a leading slash.

 

They should always be absolute. If you want something relative to the root web directory (E:\xampplite\htdocs in this case) then use paths like

include $_SERVER["DOCUMENT_ROOT"] . "/includes/footer.php";
Link to comment
Share on other sites

This is my code, i still get the same error. 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<? require_once($_SERVER["DOCUMENT_ROOT"] . "/includes/session.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/includes/connection.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/includes/functions.php"); ?>
<?php
	
	if (logged_in()) {
		redirect_to("index.php");
	}

	include_once($_SERVER["DOCUMENT_ROOT"] . "/includes/form_functions.php");
	
	// START FORM PROCESSING
	if (isset($_POST['submit'])) { // Form has been submitted.
		$errors = array();

		// perform validations on the form data
		$required_fields = array('username', 'password');
		$errors = array_merge($errors, check_required_fields($required_fields, $_POST));

		$fields_with_lengths = array('username' => 30, 'password' => 30);
		$errors = array_merge($errors, check_max_field_lengths($fields_with_lengths, $_POST));

		$username = trim(mysql_prep($_POST['username']));
		$password = trim(mysql_prep($_POST['password']));
		$hashed_password = sha1($password);
		
		if ( empty($errors) ) {
			// Check database to see if username and the hashed password exist there.
			$query = "SELECT id, username, region_id, localidad_id,admin ";
			$query .= "FROM usuarios ";
			$query .= "WHERE username = '{$username}' ";
			$query .= "AND hashed_password = '{$hashed_password}' ";
			$query .= "LIMIT 1";
			
			$result_set = mysql_query($query);
			confirm_query($result_set);
			if (mysql_num_rows($result_set) == 1) {
				// username/password authenticated
				// and only 1 match
				$found_user = mysql_fetch_array($result_set);
				$_SESSION['user_id'] = $found_user['id'];
				$_SESSION['username'] = $found_user['username'];
				$_SESSION['region_id'] = $found_user['region_id'];
				$_SESSION['localidad_id'] = $found_user['localidad_id'];
				if($found_user['admin']==0)
					$_SESSION['admin'] = false;
				else
					$_SESSION['admin'] = $found_user['admin'];
				
				redirect_to("index.php");
			} else {
				// username/password combo was not found in the database
				$message = "Username/password combination incorrect.<br />
					Please make sure your caps lock key is off and try again.";
			}
		} else {
			if (count($errors) == 1) {
				$message = "There was 1 error in the form.";
			} else {
				$message = "There were " . count($errors) . " errors in the form.";
			}
		}
		
	} else { // Form has not been submitted.
		if (isset($_GET['logout']) && $_GET['logout'] == 1) {
			$message = "You are now logged out.";
		} 
		$username = "";
		$password = "";
	}
?>
<?php include($_SERVER["DOCUMENT_ROOT"] . "/includes/header.php"); ?>
<div id="content">
			<h2>Inicio de Sesion</h2>
			<?php if (!empty($message)) {echo "<p class=\"message\">" . $message . "</p>";} ?>
			<?php if (!empty($errors)) { display_errors($errors); } ?>
			<form action="login.php" method="post">
			<table>
				<tr>
					<td>Username:</td>
					<td><input type="text" name="username" maxlength="30" value="<?php echo htmlentities($username); ?>" /></td>
				</tr>
				<tr>
					<td>Password:</td>
					<td><input type="password" name="password" maxlength="30" value="" /></td>
				</tr>
				<tr>
					<td colspan="2"><input type="submit" name="submit" value="Login" /></td>
				</tr>
			</table>
			</form>
		</td>
	</tr>
</table>
</div>
<?php include("/includes/footer.php"); ?>
Link to comment
Share on other sites

Fixed it! thx, but now i get this error.

 

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\xampplite\htdocs\Mensajeria\login.php:3) inE:\xampplite\htdocs\Mensajeria\includes\session.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at E:\xampplite\htdocs\Mensajeria\login.php:3) in E:\xampplite\htdocs\Mensajeria\includes\functions.php on line 6

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<? require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/session.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/connection.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/functions.php"); ?>
<?php
	
	if (logged_in()) {
		redirect_to("index.php");
	}

	include_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/form_functions.php");
	
	// START FORM PROCESSING
	if (isset($_POST['submit'])) { // Form has been submitted.
		$errors = array();

		// perform validations on the form data
		$required_fields = array('username', 'password');
		$errors = array_merge($errors, check_required_fields($required_fields, $_POST));

		$fields_with_lengths = array('username' => 30, 'password' => 30);
		$errors = array_merge($errors, check_max_field_lengths($fields_with_lengths, $_POST));

		$username = trim(mysql_prep($_POST['username']));
		$password = trim(mysql_prep($_POST['password']));
		$hashed_password = sha1($password);
		
		if ( empty($errors) ) {
			// Check database to see if username and the hashed password exist there.
			$query = "SELECT id, username, region_id, localidad_id,admin ";
			$query .= "FROM usuarios ";
			$query .= "WHERE username = '{$username}' ";
			$query .= "AND hashed_password = '{$hashed_password}' ";
			$query .= "LIMIT 1";
			
			$result_set = mysql_query($query);
			confirm_query($result_set);
			if (mysql_num_rows($result_set) == 1) {
				// username/password authenticated
				// and only 1 match
				$found_user = mysql_fetch_array($result_set);
				$_SESSION['user_id'] = $found_user['id'];
				$_SESSION['username'] = $found_user['username'];
				$_SESSION['region_id'] = $found_user['region_id'];
				$_SESSION['localidad_id'] = $found_user['localidad_id'];
				if($found_user['admin']==0)
					$_SESSION['admin'] = false;
				else
					$_SESSION['admin'] = $found_user['admin'];
				
				redirect_to("index.php");
			} else {
				// username/password combo was not found in the database
				$message = "Username/password combination incorrect.<br />
					Please make sure your caps lock key is off and try again.";
			}
		} else {
			if (count($errors) == 1) {
				$message = "There was 1 error in the form.";
			} else {
				$message = "There were " . count($errors) . " errors in the form.";
			}
		}
		
	} else { // Form has not been submitted.
		if (isset($_GET['logout']) && $_GET['logout'] == 1) {
			$message = "You are now logged out.";
		} 
		$username = "";
		$password = "";
	}
?>
<?php include($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/header.php"); ?>
<div id="content">
			<h2>Inicio de Sesion</h2>
			<?php if (!empty($message)) {echo "<p class=\"message\">" . $message . "</p>";} ?>
			<?php if (!empty($errors)) { display_errors($errors); } ?>
			<form action="login.php" method="post">
			<table>
				<tr>
					<td>Username:</td>
					<td><input type="text" name="username" maxlength="30" value="<?php echo htmlentities($username); ?>" /></td>
				</tr>
				<tr>
					<td>Password:</td>
					<td><input type="password" name="password" maxlength="30" value="" /></td>
				</tr>
				<tr>
					<td colspan="2"><input type="submit" name="submit" value="Login" /></td>
				</tr>
			</table>
			</form>
		</td>
	</tr>
</table>
</div>
<?php include("/includes/footer.php"); ?>
Link to comment
Share on other sites

EVERYTHING before:

<? require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/session.php"); ?>
is sent as soon as the server sees it.  Which would mean that the server MUST send the headers also.  You cannot make any header function calls after ANY output (including BOM's, blank lines, or char's of any kind), because PHP cannot put information into the header of a document after it is sent.
Link to comment
Share on other sites

Your issues have nothing to do with what versions of php you are using. Your newer version obviously has error reporting set too low, so you are simply not seeing these errors.

 

When you are developing you should have error reporting set so that you can see ALL errors.

Link to comment
Share on other sites

I dont know what i am sending before the header, i even commented the doctype and i get this error 

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\xampplite\htdocs\Mensajeria\index.php:2) in E:\xampplite\htdocs\Mensajeria\includes\session.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at E:\xampplite\htdocs\Mensajeria\index.php:2) in E:\xampplite\htdocs\Mensajeria\includes\functions.php on line 8

<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">-->
<? require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/session.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/connection.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/functions.php"); ?>
<?php
	
	if (logged_in()) {
		redirect_to("index.php");
	}

	include_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/form_functions.php");
	
	// START FORM PROCESSING
	if (isset($_POST['submit'])) { // Form has been submitted.
Link to comment
Share on other sites

 

I dont know what i am sending before the header, i even commented the doctype and i get this error 

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\xampplite\htdocs\Mensajeria\index.php:2) in E:\xampplite\htdocs\Mensajeria\includes\session.php on line 2

 

Warning: Cannot modify header information - headers already sent by (output started at E:\xampplite\htdocs\Mensajeria\index.php:2) in E:\xampplite\htdocs\Mensajeria\includes\functions.php on line 8

<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">-->
<? require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/session.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/connection.php"); ?>
<?php require_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/functions.php"); ?>
<?php
	
	if (logged_in()) {
		redirect_to("index.php");
	}

	include_once($_SERVER["DOCUMENT_ROOT"] . "/Mensajeria/includes/form_functions.php");
	
	// START FORM PROCESSING
	if (isset($_POST['submit'])) { // Form has been submitted.

even a blank line sent before a header will make it impossible to reset headers, that's one reason that a lot of people are taught to avoid closing their php blocks ?> in files that only contain php, an errant carraige return after a closing tag can be a real pain in the butt to track down. Some use output buffering to get around it, but it's a lazy poor practice.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.