sozusagen...sessionproblem...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
armee
bank
button
date
drache
drachen
elf
fehler
fehlermeldung
gefolge
herr
inhalt
jahr
letzte
login
mensch
result
schlacht
session
stadt
-
Ich habe sozusagen ein Session Problem, nicht ganz ein renes Sessionproblem, aber ich denke man kann es dazu z?hlen.
Ich habe hier einen Code, den ich asuf?hren will, wenn eine bestimmte session gesetzt ist. Aber der will net wie ich will!
Hier der Code:
<?php
if(isset($_SESSION['nick']))
{
$name = $_SESSION['nick'];
$rasse = "SELECT rasse FROM user WHERE name = '$name'";
if ($rasse == "elf")
{
}
elseif ($rasse == "Drache")
{
}
elseif ($rasse == "Mensch")
{
}
elseif ($rasse == "Troll")
{
}
}
?>
</body>
</html>
Hier wie ich die Session erzeuge:
$_SESSION['nick'] = $inputname;
Inputname wird hier f?r das Login verwedent, das klappt auch wunderbar, nur dann gibts Probleme.... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
es w?re nett, wenn du uns sagen w?rdest, was nicht klappt/welche fehlermeldung
und wenn du die ganzen echo sachen rauspackst -
also, es ist so:
Es gibt keine Fehlermeldung aus, es gibt NICHTS aus! Absolut nichts.
Ich habe alles versucht, aber nicht...absolut NICHTS hat geholfen...
ich bin irgendwie frustriert.....da mach ich mir so ne arbeit, und dann gehtsnet...*frustriert auf den bilsdschirm starr*
Ich pack noch schnell die echos raus...mom -
siehste gleich viel ?bersichtlicher ;)
mal ne frage
wieso fragst du ab, ob die session bereits gesetzt ist, um sie dannach wieder mit dem gleichen inhalt zu f?llen?
achja k?nntest du vllt noch sagen, was das script machen soll? -
mal so ganz k?hl gefragt so wie du das skript uns gibst is es klar das nichts ausgegeben wird, da du ja keinen inhalt eingegeben hast der angezegt wird, zudem ein else, falls der nick nicht gleich rasse ist, so wie das zb!
<?php
if(isset($_SESSION['nick']))
{
$name = $_SESSION['nick'];
$rasse = "SELECT rasse FROM user WHERE name = '$name'";
if ($rasse == "elf")
{
echo "rasse=elf";
}
elseif ($rasse == "Drache")
{
echo "rasse=drache";
}
elseif ($rasse == "Mensch")
{
echo "rasse=mensch";
}
elseif ($rasse == "Troll")
{
echo "Rasse TRoll";
}
else
{
echo "Dein Nick ist nichtglerich eine rasse!";
}
}
?>
</body>
</html> -
$rasse = "SELECT rasse FROM user WHERE name = '$name'";
das ganze solltest du nat?rlich auch bei der datenbank abfragen
also einfach:
$abfrage = "SELECT rasse FROM user WHERE name = '$name'";
$query = mysql_query($abfrage);
$rasse = mysql_result($query, 0, 'name');
hoffe es funzt so wie ich es mir denke
mfg t4sh -
Ich hasse diesen kram mit query....nuja, was solls, danke!
Ich denke mal so klappts...wenn net editier ichs hier rein.
edit: FEHLER!
in der Zeile hier:
$rasse = mysql_result($query, 0, 'name');
Ist ein Fehler, der gibt immer das hier aus:
Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 4 in /home/webpages/lima-city/adrians/html/browsergame/game/login/welcome.php on line 17 -
mach einfach
$result = mysql_fetch_array($query);
$rasse = $result['rasse'];
Sollte funktionieren, denke ich. -
Ich RASTE GLEICH AUS!!!
Dieser GOTTVERDAMMTE CODE WILL NET! WAS HATE DER GEGEN MICH?!
Hier ist mein mometnaner code, der verdammtnochmal net will:
(Anmerkung: Nur das obere (bis zur gestrichelten Linie z?hlt (wahrscheinlich)) zum Fehlerbereich!)
<?php
include ('dbconnect.php');
?>
<html>
<head>
<title>
Welcome by FFF!
</title>
</head>
<body>
<font color=red size=6>
<?php
$name = $_SESSION['nick'];
$abfrage = "SELECT rasse FROM user WHERE name = '$name'";
$query = mysql_query($abfrage);
$result = mysql_fetch_array($query);
$rasse = $result['rasse'];
if ($result['rasse'] == "Elf")
-------------------------------------------------------------------------------------------------
{
echo 'Es ist ein schw?ler Tag. Ihr liegt auf eurer Bank, die nur aus Ranken und ?sten geflochten ist. Um euch herum ist es still, niemand wagt es euch zu st?ren. Nicht das ihr grausam seid, aber trotz alledem sind die meisten Elfen ehrf?rchtig vor euch. Ihr seid der Herr der Elfen. Euer Name, $name, ist ?berall bekannt! <br>
Ein rascheln ert?nt, und ein Diener st?rzt herein.<br>';
echo '</font>';
echo '<font color=blue size=6>';
echo '"Herr, Herr! Wir haben Nachricht von den Mensch erhalten das ein B?ndnis aus Drachen und Trollen sie ?berfallen haben! Was sollen wir tun Herr?"<br>';
echo '</font>';
echo '<font color=red size=6>';
echo 'Langsam erhebt ihr euch. Ihr seht sehr best?rzt aus. Ein paar eurer engsten Freunde sind Menschen. Deshalb fasst ihr den Entschluss das alte B?ndniss mit den Menschen wieder aufleben zu lassen und die feindlichen Kraturen zu besiegen. Sofort lasst ihr Botschaft nach <b>Pelinor</b> schicken.<br><br><br>';
echo 'Einige Wochen sind vergangen. Bisher sind noch keine Angriffe erfolgt. Doch ihr wisst das der Schein tr?gt.<br>';
echo 'Ihr seid euch sicher das die Verschw?rer etwas gegen euch Planen. Doch was ihr nicht wisst, das n?chste Ziel ist eure Stadt!';
}
elseif ($result['rasse'] == "Drache")
{
echo 'Eure Truppe r?stet sich. Wie ihr von den Trollen erfahren habt wollen die Menschen euren Schatz stehlen, den ber?hmten Drachenschatz der tief in euren H?hlen lagert. Dies wird sogar mit dem Tode bestraft wenn einer eurer Untertanen dies versucht. Auch wenn sie klagen, euren Namen, $name, rufen, doch euer Herz l?sst sich nicht erweichen! Zu lange lebt ihr schon, zu schreckliches habt ihr schon erlebt. Ihr lebt nun schon seit 3000 Jahren. Ein f?r Drachen eher junges Alter, doch die Menschen t?teten euren Vater in der gro?en Schlacht vor <b>Pelinor</b>, als noch Krieg herrschte. Eure Wut brodelt noch immer tief in euch. Das Feuer in eurer Kehle brennt hei?er als je zuvor. Fr?her glaubtet ihr es sei nur ein Ger?cht, das Drachen in einem Kampf st?rker w?ren, doch nun wisst ihr es ist wirklichkeit! Ihr st??t ein leises Br?llen aus, und signalisiert so eurem Gefolge das es nicht mehr lange dauern wird bis ihr angreift. Die Trolle vernehmen euren Ruf genauso und auch sie machen sich beeit in die Schlacht zu zehen. <br>';
echo 'Die letzten Vorbereitungen sind getroffen, eure Armee ist bereit. Mit einem zweiten Ruf st?rtzt ihr euch der Stadt entgegen, und euer Gefolge tut es euch gleich. Auch die Trolle reiten auf ihren W?lfen los.<br>
Die Schlacht beginnt!';
}
elseif ($result['rasse'] == "Mensch")
{
echo 'Ihr seht auf eure Friediche Stadt, <b>Pelinor</b>, hinunter. Ihr seid sehr zufrieden, soetwas geschaffen zu haben. Fr?hliche Kinder spielen und kreischen in den Gassen, gl?ckliche M?tter schauen ihnen dabei zu. Der Handel l?uft gut. Alle B?rger sind zufrieden.<br>
Ihr h?rt Schritt hinter euch. Es ist eure Gemalin. Sie ist wundersch?n und ihr liebt sie von ganzem Herzen. Stie?e ihr etwas zu, ihr k?nntet es nicht verkraften.<br>
Ihr wendet euch wieder der Stadt zu und eure Gemalin setzt sich neben euch auf die Bank auf der auch ihr sitzt. Ihr seht in den Wald der eure Stadt umgibt. Langsam verfallt ihr in einen Tagtraum. Daher bemerkt ihr auch die pl?tzliche hektik am Rande des Waldes nicht. <br>
Trolle, Trolle und Drachen greifen eure Stadt an! Ihr denkt ein paar Sekunden dar?ber nach und schreckt auf.';
echo '</font>';
echo '<font color=blue size=6>';
echo '"Zu den Waffen! Sie kommen! Drachen und Trolle! Zu den Waffen M?nner!"';
echo '</font>';
echo '<font color=red size=6>';
echo 'ruft ihr, und eure M?nner gehorchen. Euch bleibt keine Zeit sich zu wundern weshalb die Wachen nicht Alarm schlugen, denn ihr befindet euch schon mitten im Gefecht. Den letzten Befehl den ihr gebt, bevor ihr euch ganz in die Schlacht st?rzt, ist eine Nachricht an die Elfen zu schicken. Der schnellste Boote des Menschenreichs wurde entsandt.<br>';
echo 'Ihr seid euch sicher das der Gro?e Krieg wieder angefangen haben muss.';
}
elseif ($result['rasse'] == "Troll")
{
echo 'Ihr hegt einen verst?ndlichen Groll gegen die Menschen. In der ersen Schlacht, die vor dreisich Jahren statt fand, f?gten die Menschen euren truppen erhebliche Sch?den zu. Die Familien eures Stammes trauern noch heute um ihre Familienangeh?rign, die damals fielen. Doch ihr und euer Staat seid st?rker geworden. Ihr habt eine m?chtige Armee, die sogar fast der St?rke der Drachen nahe kommt. Eines Tages fasst ihr einen Plan. Ihr lie?et einen Brief f?lschen, eine Kriegserkl?rung. Die Drachen sind keine Intelligenten Wesen, und vertrauen euch, $name, sehr. Sie w?rden nicht sehr genau gucken. Sie w?rden sich blind euren Truppen anschlie?en und euch bei eurer rache unterst?tzen! Ihr schicktet einen alten Ork, der in eurem Stamm aufgewachsen waren, auf die Reise um den drachen das Dokument zu zeigen, das Arondyr, euer bester Schreiber, gef?lscht hatte.<br>
Der Ork lief schnell und ?berbrachte die Nachricht und das Dokument. Als der alte Drachenherr die Nachricht h?rte war er so w?tend das er den alten ork aufra?, doch dies kam euch gerade recht. Lang genug habt ihr diesen Schuft durchgef?ttert, der sich immer heimlich etwas mitgehen lie?.<br>
Zufrieden mit euch geht ihr in eure Gem?cher, die unter der Erde in lehmigen H?hlen gebaut wurden.';
}
else
{
echo 'Keine oder Ung?ltige Session, bitte loggen sie sich ein!';
}
?>
</body>
</html>
Wenn hier jemand den Fehler ausradiert, dann schick ich ihm hunert euro (*scherz*)
ICH WILL DAS DAS GEHT*frustriert zu boden sink*
Bitte um Hilfe....
edit: Falls es hilft, hier die login.php:
<?php
include ('dbconnect.php');
?>
<html>
<head>
<title>Login</title>
<style type="text/css">
#input
{
background-color: #8B4513;
border: 2px black solid;
color: #FFFFFF;
}
#button
{
background-color: transparent;
border: 0px;
color: #000000;
}
</style>
</head>
<body text="#000000" background="bilder/background.jpg" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
$query = mysql_query ('SELECT * FROM user WHERE name = "'.$inputname.'"');
$row = mysql_fetch_array($query);
$pass = $row['keyword'];
if($button && $inputname != "" && inputkey != "")
{
if($inputkey == $pass && $button)
{
$date = date("H:i");
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO whoisonline (`name`, `date`, `ip`) VALUES ('$inputname','$date','$ip')";
mysql_query($sql) OR die(mysql_error());
$_SESSION['nick'] = $inputname;
echo'Sie werden gleich weitergeleitet!';
echo '<meta http-equiv="refresh" content="0; url=http://adrians.pyrokar.lima-city.de/browsergame/game/login/welcome.php?page=gindex">';
//richtig:echo'<meta http-equiv="refresh" content="0; url=index.php?page=gindex">';
}
elseif($button)
{
echo'Falsche Nick / Passwort kombination';
}
}
elseif($button)
{
echo'Keine Felder d?rfen freigelassen werden!';
}
?>
<br>
<br>
<br>
<br>
<form method="post">
Username:<br>
<input id="input" name="inputname" maxlength="10"><br>
Passwort:<br>
<input id="input" type="password" name="inputkey" maxlength="10"><br>
<input id="button" type="submit" name="button" value="Login"><br>
</form>
</body>
</html> -
Weis nicht warum du die abfrage in ein Array scpeicherst, du fragst doch sowieso eine Spalte ab
-
Da wundere ich mich auch dr?ber, aber wenn die sagen ich soll das so amchen, au?erdem funzen tuts sowieso net!
Mel sehen....KONSTRUKTIVE HILFE BITTE! -
Ohne dass ich mir den Code jetzt gro?artig angeschaut habe... Kann es sein dass du nicht ein mal in deinem ganzen code session_start() oder session_register() stehen hast? Wie willst du dann Variablen in eine Session ?begeben die nicht existiert und diese dann auch noch in einer MySQL Query verwenden?
Wenn du das wirklich nicht gemacht hast, dann solltest du an den Anfang jedes Scripts session_start() setzen um entweder eine session zu erzeugen(beim Login) oder die aktuelle session aufnehmen (bei der abfrage) Denn erst wenn du die Session wieder aufgenommen hast, kannst du auf ihre Variablen zur?ckgreifen.
Wenn das wirklich 100% dein Code ist k?nntest doch da dran liegen... -
H?? Wer hat das da raus gemacht?!
Ich hatte eigentlich eins drinne,...achso! Das hab ich mal rausgel?csht weil ich nen anderen Code hatte!
Mal sehen obs klappt!
Klappt jetz, habs hinbekommen!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage