php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2005, 18:01  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

P.S.ie Zeile
if (!$_SESSION['fehler'])
$_SESSION['fehler'];

soll nur bewirken, wenn die Variable fehler noch nicht registriert ist, soll sie es dann werden. Dachte ich mal so
nieselfriem ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.10.2005, 18:23  
Gast
 
Beiträge: n/a
Standard

zum p.s.:
Nutzlos.
Denk Dir $_SESSION als stinknormales Feld. Es IST ein stinknormales Feld.
PHP macht nur bei session_start() und beim Ende der Session etwas mit diesem Feld.
Ansonsten ist es absolut normal.

Wie fragst Du bei einem Feld die Existenz eines Elements ab? isset($feld['element'])
Wie setzt Du ein Element? $feld['element'] = 'wert';
Wie überschreibst Du ein Element? Genauso. $feld['element'] = 'wert';
Wie löscht Du ein Element? Analog zum Löschen einer Variable. unset($feld['element'])
Wie gibst Du ein Element aus? Analog zum Anzeigen einer Variablen. echo $feld['element'].
Wie kannst Du ein Feld in einem Feld speichern? Wie speicherst Du eine Feld in einer Variablen? $var = $feldvariable. Genauso beim Feldelement: $feld['element'] = $feldvariable
usw usw.

Nur unset($_SESSION) soll angeblich (ab's nicht ausprobiert) zu unerwünschten Nebeneffekten führen. Ansonsten behandel es wie alle anderen Feleder in php auch.
---
Zitat:
Ich möchte, dass sich das Scipt merkt ob beim voherigen versuch des absenden des Formulars ein fehler aufgetreten ist. Wenn es so ist, soll der Zustand der variable fehler sich gemerkt werden und bei einer in einer bedingung mit verwendet werden.
Verstehe ich in Kombination mit dem Skript nicht.
So wie Du die Variablen benutzt, wird keine Session benötigt.
 
Alt 12.10.2005, 18:37  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK ich erkläre erst einmal wie ich das meine mit meinem Script.

Ich habe ein Formluar. Dieses Formular ist ein Fragebogen. Dieser soll nicht doppelt abgesendet werden. Dazu setze ich ein Cooly, der dann die Zeit mist wie lange der User braucht um dieses Formular auszufüllen.
Sollte nun die Zeit zu kurz sein in der der user das Formular absendet, wird er darauf hin gewiesen, dass er das Formular nicht doppelt absenden soll.
Nun ist es aber so, dass diese Cookie auch anwendung finden würde, wenn zuvor das Formular nicht korrekt ausgefüllt wurde, ein eFehlermeldung kommt und der User diesen kleinen Fehler korrigiert und dann das Formular wieder absendet. Dies würde er sicher unter der mindestzeit korrigieren können.
Nun war meine Idee, das ich mir die Vorraussetzung für den Hinweis das das Formular nicht doppelt geschickt wurde nur dann kommt, wenn zuvor das Formular nicht korrekgiert werden mußte -->$fehler<1.
Da aber die Variable fehler nach dem Neuaufbau der seite leer ist( echo befehl mit der Fehlermeldung an den user), wollte ich sie einfach in einer Session speichern und dann einfach abrufen um zu sagen. Es war vor beim letzten Absenden ein Fehleraufgetreten oder es war kein Fehler aufgetreten.

Ich hoffe ist ist einigermaßen verständlich.
nieselfriem ist offline  
Alt 12.10.2005, 18:40  
Gast
 
Beiträge: n/a
Standard

Ja, ist es.
Ist der Benutzer eh schon auf die Session angewiesen?
Zum Beispiel wegen eines logins? Oder ist das Formular ausgerechnet für die Anmeldung/Regestrierung da?
Anders formuliert: Ist der Benutzer angemeldet/eingeloggt, wenn er das Formular benutzt und wenn ja, ist diese Anmeldung auch Session basiert?

edit: Die Frage zielt auf folgendes ab: Warum markierst/aktivierst Du die Sperre nicht erst, wenn das Formular vollständig ausgefüllt/bearbeitet wurde?
 
Alt 12.10.2005, 18:56  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein der user ist nicht eingelogt also auf session angewiesen. also im moment sieht das scrip folgendermaßen aus
PHP-Code:
<?
starte cookie
(zeitmessung)

if (
fehlerbedingung1)
 
$fehlerarray[$fehler] = "
 Sorry aber diese Angabe  ist sinnlos in Punkt 17!  
"

$fehler++;

if (
fehlerbedingung2)
 
$fehlerarray[$fehler] = "
 Sorry aber diese Angabe  ist sinnlos in Punkt 18!  
"

$fehler++;
//hier sollte sein, nur dann enn voher kein fehler gemeldet worden war.
if(zeit zu kurz)//problem hier ist wenn voheriges absenden ein Fehler aus obigen bedingungen war.
$fehlerarray[$fehler] = "
 Sorry aber diese zu schnell 
"

$fehler++;

if (
fehler>0)
ausgabe des fehlerarrays
else
eintrag in die datenbank
?>
html teil
ende

und wie ist deine idee?

Gruß niesel
nieselfriem ist offline  
Alt 12.10.2005, 19:06  
Gast
 
Beiträge: n/a
Standard

In etwa. Aber eben bevorzugt ohne Extracookie sondern über die Session.
Cookies können vom Browser abgelehnt werden und daher ist das System nicht sonderlich sicher. Sessions auch nicht, wenn der Benutzer nicht darauf angewiesen ist.
Vielleicht helfen Dir Captchas weiter.
http://de.wikipedia.org/wiki/Captcha (oder auch mal die Forensuche hier benutzen)
 
Alt 12.10.2005, 19:22  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das problem ist nur, das der user trotzdem ohne weiteres mit dem Browser zurück kann und das Formular trotzdem nochmals absenden kann
nieselfriem ist offline  
Alt 12.10.2005, 19:37  
Gast
 
Beiträge: n/a
Standard

Nicht wenn Du es richtig machst. Denn dann ist nach der Benutzung der Captcha-Wert ungültig und es muss ein neues angefordert/beantwortet werden.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Frage zu Sessions und Variablen in Session sternschnuppe99 PHP Tipps 2008 9 18.02.2008 13:30
Session Problem peder PHP-Fortgeschrittene 4 30.10.2006 12:26
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Vlib -> include -> sessions bytebuster PHP Tipps 2006 3 07.06.2006 09:17
Sessions und ein "Kann doch nicht sein?!" Curanai PHP Tipps 2006 10 15.05.2006 12:09
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
Session und Ip fragEN Skazi PHP Tipps 2005 2 10.02.2005 13:32
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
Session wird nicht erkannt PHP Tipps 2004 11 29.10.2004 14:07
blöde sessions =) PHP Tipps 2004 2 13.08.2004 17:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable speichern auch bei seiten neuaufbau, formular zweimal absenden session, php session element doppelt, php session side-effect

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.