• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Doppelter Eintrag in mysql Tabelle

Mathmos

Neues Mitglied
Moin,

leider haben sich über den Tag ein paar Fehler breit gemacht, die ich einfach nicht gefixed bekomme....
Ich habe hier das Problem, dass der Aufruf einer Seite einen doppelten Eintrag in der Datenbank verursacht.

Wenn ich die Seite wie folgt aufrufe klappt das auch so wie es soll. Die Daten werden einmal eingetragen.
Code:
...../logging.php?stllnid=1222&rmid=323&wgid=122&key=UOMwB7PO7d

Nun möchte ich das aber über die rewrite Funktion machen.
Dazu steht in der .htaccess folgendes:
RewriteEngine on
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/([0-9,a-z,A-Z]+)$ index.php?s=log&stllnid=$1&rmid=$2&wgid=$3&key=$4

So rufe ich dann die Seite auf:
Code:
....../1222/323/122/UOMwB7PO7d
Und die .htaccess leitet mich dann weiter auf die index.php, in der die logging.php durch s=log includiert wird.
Allerdings erscheinen dann die Einträge doppelt in der Datenbank.
Und das komische daran ist , dass der letzt Wert (key=UOMwB7PO7d) beim doppelten Einrag dann einen komplett anderen Wert hat.
In meinem Falle jetzt ist es "logo2", was er irgendwie ausm html code mopst.

HTML:
<a href="index.php"><img src="logo2" alt="LOGO" /></a>
 
Werbung:
Ergänze mal den Schalter [L] bei der RewriteRule:

Code:
RewriteEngine on 
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/([0-9,a-z,A-Z]+)$ index.php?s=log&stllnid=$1&rmid=$2&wgid=$3&key=$4 [L]
 
Werbung:
Sind die Einträge auch doppelt, wenn du die index.php ohne Verwendung der Rewrite-Rule (also index.php?s=... direkt in der Adresszeile steht) aufrufst?
 
So hatte ich das auch noch garnicht ausprobiert.
Aber so geht es. Und der Eintrag wird einmal eingetragen.
Code:
.../index.php?s=log&stllnid=1222&rmid=323&wgid=122&key=UOMwB7PO7d

Allerdings hatte ich was vergessen zu erwähnen.
Bei meinen ganzen Versuchen vorher wurde auch nie das Design korrekt ausgegeben.
Nach dem ich das mit der URL ohne Rewite-Rule versucht habe, wird auch das Design korrekt angezeigt.
 
Das mit dem falschen Design liegt daran, dass du für den Browser Ordner in die Url einbaust und wenn du dann indeknem Code "style.css" stehen hast, geht es an /nummern/nummern/nummen/style.css. vielleicht einfach nur alle Style-Angaben nach http://domain.endung/style.css abändern
 
Zuletzt bearbeitet:
Werbung:
Ok, das Design wird nun angezeigt. Danke schonmal dafür.
Aber leider besteht das Problem mit den doppelten Einträgen immernoch.
Ich filter das zwar jetzt mit
PHP:
strcmp($proc_key, "logo2") != 0
, aber das kann ja auch nicht so ganz die Lösung sein,
wenn sich dann zB. der "logo2" Wert mal aus irgendwelchen Gründen ändern sollte habe ich wieder doppelte Einträge in der Datenbank.

Für mein Vorhaben brauche ich nämlich möglichst kurze Links, damit ich diese später als möglichst kleinen QR-Cade darstellen kann.
Sonst würde ich ja auch diese Option nutzen:
Code:
 .../index.php?s=log&stllnid=1222&rmid=323&wgid=122&key=UOMwB7PO7d
 
Am besten diese Filterung wieder herausnehmen und in der .htaccess hinter die Zeile [L,R=301] schreiben. Das sorgt dafür, dass die .htaccess nun die Umleitung nicht intern, sondern an den Browser senden sollte (d.h. Adresszeile des Nutzers ändert sich).
 
Hmm, also das bringt leider nichts...
Er möchte dann auf den absoluten Pfad zugreifen, sprich:
Code:
domain/www/htdocs/w00cd849/tests/v1/cleanerplan/neu/index.php?s=log&stllnid=124&rmid=12&wgid=13&prockey=wdT43VVk3g
Der korrekte Pfad wäre normal folgender:
Code:
domain/cleanerplan/v1/index.php?s=log&stllnid=124&rmid=12&wgid=13&prockey=wdT43VVk3g

Nach ein bisschen googeln fande ich wohl die Lösung für das Pfad Problem in Form von "RewriteBase" allerdings habe ich es damit nicht hinbekommen den Pfad zu entfernen.
 
Werbung:
Dann probiere, in der RewriteRule
Code:
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/([0-9,a-z,A-Z]+)$ http://DOMAIN.ENDUNG/PFAD/index.php?s=log&stllnid=$1&rmid=$2&wgid=$3&key=$4

zu schreiben; das könnte noch helfen.
 
Zurück
Oben