Daten aus Datenbanl auslesen und via <ul> wiedergeben

Basti Prell

Grünschnabel
Hey ihr Cracks :)

ich bin recht neu im Bereich php unterwegs und habe jetzt den Auftrag bekommen, ein Funkspiel zu programmieren. Mein Problem bezieht sich zur Zeit auf drei Dinge.

1) Wie bekomme ich die .htaccess eingebunden (xampp und später webspace) das ich "schönere Links" erzielen kann?
2) Ich habe um aus der Navigation die Seiten in den Contentbereich zu laden eine Get-Abfrage über den Parameter "name" gemacht. Wie könnt ich dies sicherer machen?

3) Ich wollt gern die Daten dieser While Schleife in eine ul laden sodas man nachher eine Art "Tabelle" erzeugt.
Hier der Code:
PHP:
while($dbsatz = mysql_fetch_object($res)){
echo "Name: " . $dbsatz->name . " Status: " . $dbsatz->status . " Typ: " . $dbsatz->typ . " <br>";

Danke schonmal für eure Hilfe :)
Mfg
Basti
 
zu 1.
mit welchem System arbeitest du denn? Also programmierst du da was selber oder wird es ein CMS oder so?

zu 2.
mit POST wird es sicherer, da die Variablen nicht im Link übergeben werden.

zu 3.
<ul> ist eine Liste keine Tabelle.
So sollte es funktionieren (nur hingekritzelt ohne Test):
PHP:
while($dbsatz = mysql_fetch_object($res)){ 
echo "<ul>";
echo "<li>Name: " . $dbsatz->name . "</li><li>Status: " . $dbsatz->status . "</li><li>Typ: " . $dbsatz->typ . "</li>";
echo "</ul>";}

LG
Maik
 
Danke für die schnelle Antwort.
Also es ist zur Zeit ein mehr oder minder "freigecodetes" System. Ich werd es später aber auf Webspell anpassen, da ich gemerkt habe, dass ich auch noch eine Userverarbeitung brauche. Dies ist (mit meinen Kenntnissen) noch nicht wirklich umsetzbar. Also nutz ich ein CMS :)

Das heißt dann anstatt
PHP:
function page_content(){
		$page = $_GET['name'];
		switch($page){

$page = $_POST['name']?

Ich werde es mal Testen ob es geht. Ich habe letzens eine Seite gefunden, in der man eine <ul> so stylen kann das diese wie eine Tabelle aussieht.
 
Die Formularübergabe geht via "method = 'post'. Nur wenn ich das get umänder zu post übergibt er mir gar nichts mehr.

Gibt es ein cms was du mir empfehlen kannst? Ich hoff du weißt was ein Funkspiel ist.
 
Zu 1 noch die eigentliche Antwort:
Du musst nichts Spezielles machen, einfach eine Datei namens .htaccess ins Verzeichnis
(mit passendem Inhalt natürlich) und fertig. Wird automatisch erkannt, wenn sie vorhanden ist.

Im Fall Lokal muss man aber aufpassen, wie man die Seiten startet.
Ist ja auch mit PHP-Code das Selbe:
Einfach Doppelklicken oder so öffnet die Textdatei,
ohne den PHP-Code auszuführen und ohne .htaccess zu beachten.
Per Aufruf über Xampp geht dann beides.
 
Was ein Funkspiel ist weis ich nicht. Wenn die Daten aus deinem Formular aus einem <Input type=text> kommen dann muss der Name des <Input> angegeben werden, also name=test
per Submit geht's dann weiter und im Normalfall kannst du dann mit $test= $_POST[test]; darauf zugreifen.

Du kanns natürlich das Error_reporting mal anschalten und auch mit var_dump prüfen was in der variablen denn im Moment der Übergabe drin steht.
 
zu 2.
mit POST wird es sicherer, da die Variablen nicht im Link übergeben werden.

Bitte nicht. Erstens wird es durch verwendung von POST nur scheinbar sicherer. Sowohl POST alsauch GET kommen vom User (Client), müssen also gleichermaßen als gefährlich eingestuft werden und entsprechend behandelt werden.
Zweitens haben die HTTP-Methoden auch eine Bedeutung ;) Mit GET will man an bestimmte Informationen(Dateien auf dem Server) kommen, mit POST schickt man selber Inhalte an den Server.
 
Wenn ich Eingaben in einem Formular verarbeiten will und ich drücke den Submit-Button ist deine Aussage nichtig!

Denn an die Informationen komme ich mit GET gleichermaßen wie mit POST. Mit GET werden die Variablen und die Informationen im Klartext im Link übertragen. Mit POST werden diese "versteckt" übertragen, ich kann also auf den ersten Blick nicht erkennen was an Daten übertragen wird.

Sicher wird es wenn man sich damit beschäftigt sicher zu Programmieren. http://www.tu-chemnitz.de/urz/www/php/secure.html
 
Sorry, versteh ich jetzt nicht ganz?

Mir ist klar, dass man beide Methoden für die gleichen Zwecke missbrauchen kann. Aber im ursprünglichen Sinne haben diese Methoden eben auch Bedeutungen:
GET sth FROM server
POST(SEND) sth TO server

Das mit dem "versteckt übertragen" trägt natürlich absolut garnichts zur Sicherheit bei ;) Ich kann auch beispielsweise das Kommandozeilentool cURL verwenden, um den POST-Request abzufeuern.
 
Zurück