hab's nur mal überflogen und kam mir irgendwie bekannt vor. schlussendlich handelt es sich um dasselbe "projekt" wie hier , oder? Warum dann 2 Threads?
variable wird nicht ausgelesen
Einklappen
X
-
Ok, noch mal in richtiger Reihenfolge:
Versuch mal die hervorgehobenen Änderungen...Original geschrieben von hauke
1. seite
2. dateiPHP-Code://An den Anfang der Datei
session_name("randomString");
session_start();
settype($se,"string");
...
echo '<table border>';
echo '<tr><td>UserID</td><td>Name</td><td>Klasse</td><td>E-Mail</td><td>Status</td></tr>';
for ($i=0; $i<$counter; $i++){
echo '<form action="mailau.php" method="post" target="_blank">';
$id = mysql_result($result, $i, "userID");
$sn = mysql_result($result, $i, "name");
$sk = mysql_result($result, $i, "klasse");
$se= mysql_result($result, $i, "email");
echo '<input type="hidden" name="[B]se[/B]" value="' . $se . '" >';
$ss = mysql_result($result, $i, "typ");
if ($ss=="A"){
$st='<font color="0066ff">Admin</font>';
}else{
if ($ss=="L"){
$st='<font color="009900">Lehrer</font>';
}else{
$st="Schüler";
}
}
echo "<tr><td>$id</td><td>$sn</td><td>$sk</td><td>$se</td><td>$st</td>
<td><input type='submit' value='Diesem Benutzer eine E-Mail schicken'></td></tr>";
echo '</form>';
}
echo '</table>';
PHP-Code://An den Anfang der Datei
session_name("randomString");
session_start();
settype($se,"string");
$_SESSION[se] = $_POST[se];
if ($nachricht!=""){
$hd = "MIME-Version: 1.0\r\n";
$hd .= "Content-type: text/html; charset=iso-8859-1\r\n";
$hd .= "From: Hauke <pirrat@web.de>\r\n";
mail([b]$se[/b], $betreff, $nachricht, $hd );
echo '<strong>Ihre Nachricht wurde versendet</strong>';
}else {
echo '<form action="mailau.php" method="post">
Von: <textarea cols="15" rows="1" name="von"></textarea><br>
Betreff: <textarea cols="15" rows="1" name="betreff"></textarea><br>
Nachricht: <textarea cols="50" rows="15" name="nachricht"></textarea>
<input type="hidden" name="[b]se[/b]" value="' . [b]$se[/b] . '">
<p><input type="submit" value="Abschicken">
<input type="reset" value="Inhalt löschen">
</form>
';
}
?>
EDIT: Irgendwie stellt er nicht alles so dar wie ich will:
$se <--- Sollte FETT sein, im PHP-Code ist teilweise der BBCode zu sehen...Zuletzt geändert von kabeljau; 27.01.2005, 19:45.
Kommentar
-
hey das klappt ja
aber ich habe noch ein ganz kleines problem. und zwar wenn die besagte 1. seite geöffnet wird, soll anhand von
geprüft werden, ob es sich auch um einen authendifizierten User handeltPHP-Code:if (!logged_in()){
echo "Fehler, keine Rechte!";
}else{
die datei die ich dazu mit include eingebunden habe sieht so aus:
ich denke, das sich da was überschneidet... wegen dem neuen session namen oder?PHP-Code:function check_usera($name, $pass)
{
$sql="SELECT userID
FROM users
WHERE name='".$name."' AND passwort=MD5('".$pass."') AND typ='A'
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['userID'];
}
else
return false;
}
function check_users($name, $pass)
{
$sql="SELECT userID
FROM users
WHERE name='".$name."' AND passwort=MD5('".$pass."') AND typ='S'
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['userID'];
}
else
return false;
}
function check_userl($name, $pass)
{
$sql="SELECT userID
FROM users
WHERE name='".$name."' AND passwort=MD5('".$pass."') AND typ='L'
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['userID'];
}
else
return false;
}
function login($userID)
{
$sql="UPDATE users
SET session='".session_id()."'
WHERE userID=".$userID;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT userID
FROM users
WHERE session='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users
SET session=NULL
WHERE session='".session_id()."'";
mysql_query($sql);
}
Kommentar
-
Die Funktion logged_in() liefert als Endresultat kein true, selbst wenn der User eingeloggt ist. Allerdings auch kein false, also kann die Abfrage ganz oben so nicht funktionieren, oder?Original geschrieben von hauke
geprüft werden, ob es sich auch um einen authendifizierten User handeltPHP-Code:if (!logged_in()){
echo "Fehler, keine Rechte!";
}else{
die datei die ich dazu mit include eingebunden habe sieht so aus:
PHP-Code:...
function logged_in()
{
$sql="SELECT userID
FROM users
WHERE session='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
...
Zu Sessions gibt's eine meiner Meinung ganz gut erklärte Einstiegsseite:
http://www.usegroup.de/software/phpt.../sessions.html
Kommentar
Kommentar