treziman: PHP txt-datei oder mysql?

Beitrag lesen

Hi Lo!,

der Vorgang, warum es nicht mehr funktioniert hat:
Meine Test-DB sah wie folgt aus:

1. Spalte: id
2. Spalte: kdnr
3. Spalte: nick
4. Spalte: passwort

Nun hatte ich bemerkt, dass ich die ID nicht brauche und diese Spalte wieder gelöscht. Nun sah meine DB so aus:

1. Spalte: kdnr
2. Spalte: nick
3. Spalte: passwort

Eine Abfrage wie:
<?php
...
$passwort = "testpw";
$ergebnis = mysql_query ("select kdnr from testtab where passwort like '$passwort' ");
...
(es folgt die while-Schleife)
echo $row->kdnr;
?>

funktioniert nicht mehr. Warum auch immer. Nun habe ich in der Abfrage lediglich das "kdnr" gegen "nick" ausgetauscht, und das klappt. Es scheint so, als ob - nach dem Löschen der 1. Spalte (id) - auf die neue 1. Spalte  (kdnr) kein Zugriff mehr erfolgt. Keine Ahnung.
Das war aber das einzigste, was nicht ging. Alle anderen Kombinationen mit Abfragen und Ausgaben gingen.

Eine session darf, solange ein Kunde online ist, nicht ablaufen. Auch nicht bei Inaktivität. Es kann ja sein, dass er gerade einen längeren Text liesst und anschliessend ein Formular ausfüllt. Und beim Absenden bekommt er dann die Nachricht, sich neu einzuloggen, da die Zeit abgelaufen ist. Nervig, weil die eingegebenen Daten weg sind. Darum ein session-handler, der etwa so aussieht:

$konstante = $nickname; ($konstante wird von Skript zu Skript weitergegeben, entweder per input-hidden oder an links angehängt)

Zu Beginn eines Skripts frage ich:
<?php
session_start();
if ($konstante != $_session(nickname))
{
session abgelaufen, zuerst neu setzen (Variablen)
}

script...
?>

Wird also die Konstante nicht weitergegeben, könnte der Kunde z.B. den Browser geschlossen haben, ohne sich auszuloggen. Die session wird dann auch nicht erneuert.

Gruss
Thorsten