Auf Linux für PHP und HTML sachen gPHPedit.
Der zeigt dir auch an wenn du dich in einer Klammer befindest, da weiß man auch bei extremsten Verschachtelungen noch ob man nu ne Klammer geschlossen hat oder nicht.
Beiträge von Cpt. Rick
-
-
Oft ist es so, dass man Fehler nicht entdeckt, weil viel zu sehr in dem Code vertieft ist. Da ist ein kritischer Blick eines Außenstehenden Gold wert.
-
Grober Denkfehler^^Danke für tatkräftige Hilfe, ich probiers gleich mal aus!
EDIT: Jop es geht
-
An der Stelle verwende ich nach wie vor get ( was ja auch kein Problem ist, denn alleine mit der userid kann man nichts anfangen ).
Ich Poste aber dennoch mal den aktuellen code:
Das Formular:
Code<form action="login.php" method="post"> <input name="name" type="text" /> <input name="pw" type="password" /> <input value="login" style="background-color: #057391; border: 0px; color: #CCCCCC;" type="submit" /> </form>
login.php:
PHP
Alles anzeigen<?php session_start(); require( 'config.php' ); require( 'functions/sql/_sql_connect.php' ); if( ($_POST['name'] == '' || !$_POST['name']) || ($_POST['pw'] == '' || !$_POST['pw']) ) { header("Location: " . HOST ); } $handle = _sql_connect( SQL_HOST, SQL_USR, SQL_PW, SQL_DB); if( !$result = mysql_query("SELECT `name`, `id`, `pw` FROM `" . SQL_PREFIX . "usr` WHERE `name` = '" . $_POST['name'] . "'", $handle) ) { header("Location: " . HOST ); } elseif( mysql_affected_rows() == 0 ) { header("Location: " . HOST ); } else { $usr = mysql_fetch_assoc($result); if( md5($_POST['pw']) == $usr['pw'] ) { $_SESSION[ $usr['id'] ] = TRUE ; header("Location: " . HOST . "/game_environment/index.php?uid=" . $usr['id'] . "&page=start" ); } else { header("Location: " . HOST ); } } ?>
und die Index.php der neuen site in /game-environment/ :
PHP
Alles anzeigen<?php session_start(); require( '../config.php' ); require( '../functions/_stardate.php' ); require( '../functions/_linkcreate.php' ); if( $_SESSION[ $_GET['uid'] ] != TRUE ) { header("Location: " . HOST ); } if( !isset($_GET['page']) || $_GET['page'] == '' ) { header("Location: " . HOST . "index.php?page=hacking" ); } require( '_header.php' ); require( '_info.php' ); require( '_nav.php' ); require( $_GET['page'] . '.php' ); require( '_footer.php' ); ?>
Ich habe auch schon überprüft ob die Session überhaupt gesetzt werden kann, aber da trat kein Fehler auf, erst wenn ich auf der neuen Index.php den Wert erneut abfrage.
-
-
Zitat von phpfan
1. Ein Formular mit Passworteingabe per Get zu versenden, ist eine Katastrophe
Oh
Wie macht man es denn richtig (sicherer) ? Per POST ?
-
Hiho mitnand,
ich habe folgendes Login script geschrieben und nun taucht ein sehr seltsamer Fehler auf.
Hier erst mal der Code, dann die Erläuterung:Das Formular:
Code<form action="login.php" method="get"> <input name="name" type="text" /> <input name="pw" type="password" /> <input value="login" style="background-color: #057391; border: 0px; color: #CCCCCC;" name="" type="submit" /> </form>
login.php:
PHP
Alles anzeigen<?php session_start(); require( 'config.php' ); require( 'functions/sql/_sql_connect.php' ); if( ($_GET['name'] == '' || !$_GET['name']) || ($_GET['pw'] == '' || !$_GET['pw']) ) { header("Location: " . HOST ); } $handle = _sql_connect( SQL_HOST, SQL_USR, SQL_PW, SQL_DB); if( !$result = mysql_query("SELECT `name`, `id`, `pw` FROM `" . SQL_PREFIX . "usr` WHERE `name` = '" . $_GET['name'] . "'", $handle) ) { header("Location: " . HOST ); } elseif( mysql_affected_rows() == 0 ) { header("Location: " . HOST ); } else { $usr = mysql_fetch_assoc($result); if( md5($_GET['pw']) == $usr['pw'] ) { $_SESSION[ $usr['id'] ] = TRUE ; header("Location: " . HOST . "/game_environment/index.php?uid=" . $usr['id'] . "&page=start" ); } else { header("Location: " . HOST ); } } ?>
und die Index.php der neuen site in /game-environment/ :
PHP
Alles anzeigen<?php session_start(); require( '../config.php' ); require( '../functions/_stardate.php' ); require( '../functions/_linkcreate.php' ); if( $_SESSION[ $_GET['uid'] ] != TRUE ) { header("Location: " . HOST ); } if( !isset($_GET['page']) || $_GET['page'] == '' ) { header("Location: " . HOST . "index.php?page=hacking" ); } require( '_header.php' ); require( '_info.php' ); require( '_nav.php' ); require( $_GET['page'] . '.php' ); require( '_footer.php' ); ?>
Nach ein paar Versuchen konnte ich den Fehler darauf eingrnzen, dass die $_SESSION[uid] zwar mit dem korrekten Index auf TRUE gesetzt wird, sobald ich aber auf die neue Index.php weiterleite ist dieser Wert "weg" und man wird wieder auf die alte Index.php weitergeleitet.
Ich habe auch schon versucht die 'uid' per $_REQUEST[] statt $_GET[] aufzurufen aber der Fehler bleibt der selbe.
-
-
hiho
ich habe jetzt schon eine Weile geforscht aber irgendwie machts nicht "klick" bei mir.
Ich hoffe Ihr könnt mir mit einem kleinen Beispiel aushelfen.Es gibt also eine Tabelle usr und dort befindet sich das feld ship_id.
In der Tabelle ships befindet sich ein Feld shields und ein index, der die ship_id in der Tabelle usr ist.In der Abfrage soll nun über die usr id die ship_id ausgelesen werden und darüber dann das Feld shields.
LG Rick
-
Ich komme auch nur auf diese Zeiten, da ich auf der Arbeit auch am PC sitze und meine Freunde zeihmlich weit weg von mir wohnen, so besteht der meiste und parkichste Kontakt über das Internet.
Ich bin auch nicht verheiratet und atm Single, ich denke das sind zwei große Faktoren
-
Also mal rechnen:
Aufstehen: 6:00
Frühstück: 1h
Fahrzeit: 2h
Zu Bett: 23:00t=17-1+2
t=14h -
Da schlage ich mit meinem 2048 MB ( mit 800 mhz (oder war das sone kurmme zahl *grübel* )) ja doch ganzschön aus der Reihe.
Ich dachte jetzt wo Vista so beliebt ist ( für mich vollkommen unverstädnlich) rennen alle den größeren RAMs hinterher. Wenn das im Umkehrschluss heist das Vista doch nicht so beliebt ist, kann ich ja beruhigt sein^^ -
Also als ich PHP gelernt habe, habe ich das per Einstieg in PHP5 von Galileo Computing gemacht.
Im nachhinein würde ich von diesem Buch abraten, da ich dadurch eher verwirrt wurde ( vieles wird dort einfach nicht erklärt; und teilweise werden sogar grobe stilistische Fehler begangen!). Wenn ich jetzt schonmla ind em Buch etwas nachschlagen möchte endet es meistens darin, dass ich mich über die Fehler und das Fehlen von Erkläreungen aufrege und meistens reicht mir das Buch nicht mehr aus (an Inhalt).Richtig verstanden habe ich PHP erst, als ich mit C angefangen habe. Da PHP einige Elemente der "klassischen" Programmierung (wie z.B. aus der Sprache C), aber auch viele Elemente aus der Shell PRogrammierung enthällt würde ich vllt erstmal mit einer anderen Programmiersprache anfangen, alleine schon für das Grundverständnis des Porgrammierens ist C sehr gut (imo).
-
Der Unterschied zwsichen einem 32 und 64 bit System ist, dass bei dem einen mit einem Zugriff der CPU auf den Speicher 64 bit ausgelesen werden können und bei 32 bit, eben nur 32 bit.
Wie stark sich das auf die Geschwidnigkeit auswirkt weiß ich jetzt nicht, vllt mal googln, gibts bestimmt einige interessannte Diskussionen drüber.Jedenfalls kann man auf einem 64 bit system auch ein 32 bit system isntallieren (es werden dann eben nicht die volle Zugriffsbreite von 64 bit ausgenutzt) aber nicht umgekerht!
-
Da bis jetzt nur Beiträge zur HW kamen möchte ich hier auch mal anmerken dass die Software einen SEHR großen (gerade unter windows) Einfluss auf die Perfornamce hat.
Einfach mal unter START -> Ausführen -> "msconfig" eingaben.
Unter den Karten Dienste und Systemstart kann man vieles rausschmeißen. Fast jedes Programm, welches man installiert hat verschafft sich hier einen Eintrag und wird von Windows vorausgeladen. An sich ist das auch sinnvoll, wenn man das Programm aber nicht ständig nutzt, dann sind das nur vergäudete Resourcen.Aber hier aufpassen, manche Einträge sollten man nicht löschen!
-
Schrieb dir dochn einfaches shell script mit ein zwei copy befehlen ( sollte ein dreizeiler werden ... ).
-
Oh, dann ziehe ich das zurück!
Also siehts wohl so aus, als läufe es auf einen neuen (oder zusätzlichen) RAM Baustein hinaus.
-
Nicht schlecht, vllt sollte ich mir mal Fedora anschauen^^
-
Du must mal unter Xts->ScriptFu->Logos->Text Circle ...
Mit den Werten ein bischen testen bis es hinhaut.Leider ist diese Funktion unter Gimp sehr umständlich im Gegensatz zu PS, es wurde auch schon oft darüber diskutiert. Vllt gibt es mitlerweile auch schon ein ExtensionPack dafür ...
-
Super! Dann viel Spaß mit dem neuen Volumen
Bootest du denn auch von der Platte?