php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 17-01-2008, 12:42
dani_o
 PHP Senior
Links : Onlinestatus : dani_o ist offline
Registriert seit: Jun 2003
Ort: Lichtenstein/Sa.
Beiträge: 1.599
dani_o befindet sich auf einem aufstrebenden Ast
Standard

eben !!! den post vorher versteh ich auch net - ein skript - null aufwand
__________________
Signatur-Text ...
Mit Zitat antworten
  #17 (permalink)  
Alt 17-01-2008, 13:00
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich wollte damit sagen, dass der Kram dann entweder in der index.php eingetragen werden muss, womit shoutbox-Zeug in einem fremden Script lagert -> Anpassungsaufwand. Oder die Stelle, wo der neue Eintrag in die Datenbank geschrieben wird, ist in der includierten shoutbox.php. Dann gibt es zwar keinen weiteren Anpassungsaufwand, du nimmst dir aber die Möglichkeit, wie empfohlen per header weiterzuleiten, da zwangsläufig in der index.php bereits Ausgaben gemacht wurden.

Zitat:
Das Problem der Doppelposts wollte ich umgehen, indem ich beim Posten eine ID (die des Eintrages in der DB) mitsende und einen Eintrag dann nur mache, wenn die ID nicht schon drinsteht, das sollte ja auch klappen.
Das klappt nicht. Woher soll die ID kommen?
__________________
ich glaube
Mit Zitat antworten
  #18 (permalink)  
Alt 17-01-2008, 13:19
FargoTof
 Newbie
Links : Onlinestatus : FargoTof ist offline
Registriert seit: Jan 2008
Beiträge: 10
FargoTof ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich lese vor dem Posten die ID des neuesten Eintrages aus der Datenbank (und inkrementiere sie). Die sende ich dann mit.

Die geposteten Daten werden dann nur eingetragen, wenn es mit dieser ID noch keinen Eintrag gibt.

Wenn man nun reloaded, GIBT es dann aber einen Eintrag hiermit und die Daten werden NICHT eingetragen.
Mit Zitat antworten
  #19 (permalink)  
Alt 17-01-2008, 13:41
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ich lese vor dem Posten die ID des neuesten Eintrages aus der Datenbank (und inkrementiere sie). Die sende ich dann mit.

Die geposteten Daten werden dann nur eingetragen, wenn es mit dieser ID noch keinen Eintrag gibt.

Wenn man nun reloaded, GIBT es dann aber einen Eintrag hiermit und die Daten werden NICHT eingetragen.
Und wenn ich deine Shoutbox drei Tage bei mir geöffnet lasse und dann was poste, ist die ID sicherlich schon vergeben. Eher unglücklich!
Mit Zitat antworten
  #20 (permalink)  
Alt 17-01-2008, 15:15
FargoTof
 Newbie
Links : Onlinestatus : FargoTof ist offline
Registriert seit: Jan 2008
Beiträge: 10
FargoTof ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Und wenn ich deine Shoutbox drei Tage bei mir geöffnet lasse und dann was poste, ist die ID sicherlich schon vergeben. Eher unglücklich!
hmmm... das ist in der tat ein argument... die seite wird zwar nicht allzu sehr frequentiert sein, aber dass jemand die seite ein paar minuten offen hat und ihm dann jemand anders dazwischenfunkt ist ja durchaus kein unrealistisches Szenario...

Vllt. kommt ja dann an dieser Stelle doch AJAX oder so ins Spiel, um die ID alle - sagen wir mal - 10 sekunden neu auszulesen, was dann vom zeitraum für mich i.o. wäre...

Davon mal ab: Diese ID-Geschichte hab ich ja verwendet, um Reload-Neueinträge zu verhindern. Ich hatte nämlich gelesen, dass es in php keine Möglichkeit gibt, die POST-Variablen zu löschen (weil sie im header stehen o.ä.), ist das so richtig?
Mit Zitat antworten
  #21 (permalink)  
Alt 17-01-2008, 15:21
FargoTof
 Newbie
Links : Onlinestatus : FargoTof ist offline
Registriert seit: Jan 2008
Beiträge: 10
FargoTof ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aber ach nein: Ich kann ja die ID unmittelbar vorm Posten auslesen, dann geht es doch... Dass zwei Leute gleichzeitig Posten (oder welches Szenario auch immer für einen Fehler nötig wäre ) ist mir unwahrscheinlich genug...
Mit Zitat antworten
  #22 (permalink)  
Alt 17-01-2008, 15:23
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann darf ich nach 10 sekunden also Reloaden und mache einen Doppelpost?

Die normale Vorgehensweise ist genau wegen dieses Problems nach Eintragen der Daten eine Headerweiterleitung zu machen.

Da dir das nicht zu gefallen scheint, kannst du auch noch die Daten direkt per Ajax eintragen. Das mit dem Durchschleifen der ID ist in meinen Augen murks.
__________________
ich glaube
Mit Zitat antworten
  #23 (permalink)  
Alt 17-01-2008, 15:30
FargoTof
 Newbie
Links : Onlinestatus : FargoTof ist offline
Registriert seit: Jan 2008
Beiträge: 10
FargoTof ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy

Naja, wenn ich es jetzt so mache

Zitat:
Ich kann ja die ID unmittelbar vorm Posten auslesen
müsste es doch eigentlich funktionieren... ich weiß nur noch nicht so recht, wie ich das "unmittelbar" hinkriege, ich habe ja

- anweisungen zum id auslesen
- anweisungen zum generieren des formulars (inkl. submit)

insofern veraltet die ID ja verdammt noch mal schon wieder, wenn man die Seite lange aufhat..., schade...

Mit Zitat antworten
  #24 (permalink)  
Alt 17-01-2008, 20:00
FargoTof
 Newbie
Links : Onlinestatus : FargoTof ist offline
Registriert seit: Jan 2008
Beiträge: 10
FargoTof ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hab jetzt doch alles etwas anders.. Das Formular schickt die Daten an insert.php, die trägt es in die DB ein.

Über den Header soll dann ne Weiterleitung erfolgen, auf die man vorher war, also auf der die Shoutbox eingebunden ist, meinetwegen

.../galerie.php

dazu bestimme ich die aktuelle URL mit

PHP-Code:
$url "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
und übergebe diese über ein HIDDEN Formularfeld.

Wenn ich in nun die Shoutbox in die galerie.php einfüge:

PHP-Code:
include ".../shoutbox/shoutbox.php" 
und die URL anschließend die URL bestimmen möchte (die Funktion dazu steht ja in der includeten .php) wird mir der Pfad dieser, also .../shoutbox/shoutbox.php zurückgegeben.

Wie kann ich dieses Problem lösen, also wirklich die URL bestimmen auf der der User ist, nicht die URL zum Skript, das die Funktion verwendet? Ich möchte diese Funktion gerne in der includeten shoutbox.php haben. Ist dies möglich?

Ich hoffe, ich stelle keine zu grundlegenden Fragen, aber es ist im Prinzip mein erstes Projekt in PHP...
Mit Zitat antworten
  #25 (permalink)  
Alt 17-01-2008, 22:07
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ministry
Wohin du sie schickst, ist eigentlich egal. Schick sie an die shoutbox.php, da machst du oben vor der Ausgabe die Auswertung (if (isset($_POST['shoutbox'])) ...), trägst es in die Tabelle ein und leitest per header wieder auf die Seite von der du kamst. Die section kannst du im Shoutboxformluar als hidden-feld mit übergeben und danach entscheiden, wohin du zurück-umleiten willst.
Zitat:
Wenn ich in nun die Shoutbox in die galerie.php einfüge:
...
und die URL anschließend die URL bestimmen möchte (die Funktion dazu steht ja in der includeten .php) wird mir der Pfad dieser, also .../shoutbox/shoutbox.php zurückgegeben.
Das stimmt nicht. Du bekommst die URL der aufgerufenen Seite, also zur galerie.php.

Aber wieso behältst du nicht deine Struktur bei, includest alles aus der index.php und gibst die section als hidden Feld weiter, wie bereits ganz am Anfang gesagt?
__________________
ich glaube
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44 Uhr.