Script kompatibilität

Uli_87

Erfahrenes Mitglied
Guten Tag,
Ich habe ein PHP Script programmiert und dies auf einem Linux Webserver problemlos installiert, und das Script funtzte. Das Gleiche wollte ich auf einem Windows Server machen aber irgendwie funktioniert mein Script auf diesen Server nicht, obwohl ich alle Daten umgeändert habe und die gebrauchte daten auf der Datenbank sind...

Hatte Jemand auch schon mal so ein Problem oder könnte mir Jemand helfen?

mfg
Uli
 
Was genau soll das Script denn machen?
Gibt's evtl. System-Calls zu Linux-eigenen Befehlen?
Gibt's Unstimmigkeiten mit den Einstellungen von PHP?
 
Wie sieht denn Dein Quellcode aus?
Vielleicht hilft es ja, wenn wir da mal einen Blick drauf werfen könnten.
So ganz ohne macht sich das nicht gut (ich zumindest bin kein Hellseher ;) ), ...

redlama
 
Dieses Script fängt mit einem Login an, und schon das geht mal nicht...keine PHP-Fehlermeldungen kommen vor.. nur das ich die falschen Daten eingegeben habe, obwohl ich mir sicher bin das die Daten richtig angegeben wurden:

Da den Login Code:

Code:
<?php
include 'param.inc';
$usr = $HTTP_POST_VARS[benutzer];
$psw = $HTTP_POST_VARS[password];
$sqlconnession = mysql_connect($host, $username, $password) or die("Keine Verbindung zu der Datenbank");
if (!mysql_select_db($db, $sqlconnession))
{
die ("Keine Verbindung zu der Datenbank");
}
$sql = "SELECT ID, benutzer, password FROM uli_login WHERE benutzer = '$usr'";
$result = mysql_query($sql);
$data = mysql_fetch_array($result);
$pwd = $data['password'];
mysql_close($sqlconnession);
if ($psw == $pwd) {
setcookie ("iaescript", "test",time()+3600);
header ("location: home.php");
}
else {
header ("Location: index.php?fehler=1");
}
?>

Dises Script erstellt mir kein Cookie... Habs schon auch mit Session versucht aber nichts von beidem ging... Andere Scripts wie phpbb laufen auf dem Server problemlos.

Gruss
Uli
 
Ersetz mal das so:
PHP:
$usr = $_POST['benutzer'];
$psw = $_POST['password'];
Dann gibts oft Probleme mit Sessions/Cookies unter Windows, weil meist der tmp-Pfad in der php.ini nicht richtig gesetzt ist. Das solltest du mal prüfen.
 
Geht immer noch nicht, das php.ini sollte richtig sein da andere script auch drauf funktionieren....

Gruss
Uli
 
Die Verbindung zur Datenbank funktioniert auch?
Nicht, dass Du als Host "localhost" hast und die Datenbank wo anders liegt, ...
Oder werden keine Cookies gesetzt?

redlama
 
Die verbindung zur Datenbank funktioniert... hab mehrere tests gemacht... das problem liegt an der Cookie denke ich...

Uli
 
Probier mal Folgendes:
PHP:
<?php

	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	include 'param.inc';

	$link = mysql_connect($host, $username, $password) or die('Keine Verbindung zum Datenbankserver');
	mysql_select_db($db, $link) or die('Keine Verbindung zur Datenbank');

	$query = "
		SELECT
		        1
		  FROM
		        `uli_login`
		  WHERE
		        `benutzer` = '".mysql_real_escape_string($_POST['benutzer'])."'
		    AND `password` = '".mysql_real_escape_string($_POST['password'])."'
		";
	$result = mysql_query($query);
	if( mysql_num_rows($result) > 0 ) {
		setcookie('iaescript', 'test', time()+3600);
		header('Location: '.dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'/home.php');
	} else {
		header('Location: '.dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'/index.php?fehler=1');
	}
	mysql_close($link);
	exit();

?>
Übrigens empfehle ich dir auf Datenschutzgründen die Passwörter als Prüfsummen zu speichern.
 
Zuletzt bearbeitet:
Zurück