php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dynamischer Background


 
Jazzjack
28-07-2003, 13:22 
 
Hi,

habe hier ein Script, dass bewirken soll das ein Background sich anpasst an den User der sich einloggt.

Hier das script:

<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
header("location:index.php");
die;
}
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body background=" <? echo .$_SESSION['user']."jpg"; ?> ">

</body>
</html>

Nur leider übernimmt er es so nicht, der Bildschirm bleibt weiss.

 
muecke0815
28-07-2003, 13:26 
 
deine punkterei ist etwas durcheinander

aus
<body background=" <? echo .$_SESSION['user']."jpg"; ?> ">

sollte das
<body background="<? echo $_SESSION['user'] . ".jpg"; ?>">

werden und könnte helfen

 
Konrad
28-07-2003, 13:26 
 
Nimm mal vor und nach
<? echo .$_SESSION['user']."jpg"; ?>
die Leerzeichen weg.

Stimmen die Pfade?

 
Jazzjack
28-07-2003, 13:32 
 
Jop, dass Jpg liegt im gleichen Ordner wie die user.php.

daran sollte es wohl nicht liegen. Habe die Datei jetzt noch mal mit aktualisietem code über dem Parser geschickt und trotzdem tut sich ncihts.

Also wenn ich mich einlogge geb ich den Benutzernamen admin ein.
Dass bild was ich laden möchte nennt sich demnach auch admin.jpg.

 
mrhappiness
28-07-2003, 13:36 
 
was steht denn im html-quelltext?

bindest du die datei mit include oder require irgendwo ein?

wo is die datei gespeichert (ordnerstruktur)?
wo is das bild gespeichert(ordnerstruktur)?

 
Konrad
28-07-2003, 13:36 
 
mach das doch mal statisch:
<body background="admin.jpg">
funzt das?

 
Jazzjack
28-07-2003, 13:42 
 
Das hab ich schon probiert, wenn ich direkt auf das jpg linke macht er es.
Die Ordnerstrucktur ist folgende. Testsite/"alles dateien"
der login ist admin und dass bild nennt sich auch admin.

 
mrhappiness
28-07-2003, 13:46 
 
Original geschrieben von mrhappiness
was steht denn im html-quelltext?wenn du's mit session machst natürlich

probier da mal den absoluten pfad ausgehen vom web-root reinzuschreiben

 
Jazzjack
28-07-2003, 13:52 
 
also hier mal die Datei der index.php

<?php
session_start();
require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LogIn zum Adminbereich</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Bitte erst anmelden</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Anmelden" class="button">
</td>
</tr>
</table>
</form>
<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zurück</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index.php" method="post">';
echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück">';
echo '</p>';
echo '</form>';
}else{
$password = md5($password);
$query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>');
if($password != $result['pass']){
echo '<form action="index.php" method="post">';
echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück"></p>';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<p align="center">LogIn erfolgreich! :-)<br><br><a href="user.php">Weiter</a></p>';
}
}
?>
</body>
</html>

von dort aus linkt das script dann auf user.php.

hier das user.php


<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
header("location:index.php");
die;
}
?>
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body background="<? echo $_SESSION['user'] . " .jpg";?>">


</body>
</html>


Die site liegt noch nicht auf einem server. habe die site local über apache laufen wenn ich direkt die site anspreche macht er es auch net.
Der Apache ist gestartet LOL

 
Innuendo
28-07-2003, 13:56 
 
Erstens muss die Zeile so heißen


<body background="<? echo $_SESSION['user'] . ".jpg";?>">


und zweitens kannst Du die user.php auch gar nicht direkt ansprechen solange Du nicht in der index.php gültige Zugangsdaten eingegeben hast.

 
Jazzjack
28-07-2003, 14:02 
 
Jop das ist mir klar. Es war ja tatsächlich der Fehler das vor .php ein leerzeichen war.

Danke an alle jeztz Klappt es.;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:57 Uhr.