php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.01.2012, 18:58  
Neuer Benutzer
 
Registriert seit: 17.01.2012
Beiträge: 18
PHP-Kenntnisse:
Anfänger
Seppelchen befindet sich auf einem aufstrebenden Ast
Standard Timestamp bei absenden des Formulars

Hallo kurz eine Frage,
mein Insert lautet:

PHP-Code:
 $sql "INSERT INTO tabelle (username_key, email, key_log) VALUES ('$username_key', '$email', '$key_log')"
wenn ich dieses nun so gestalte:

PHP-Code:
 $sql "INSERT INTO tabelle (username_key, email, key_log, new_time) VALUES ('$username_key', '$email', '$key_log', 'time()')"
Speichert er dann automatisch die aktuelle Zeit mit rein?
Oder muss ich im Formular noch was berücksichtigen?
Seppelchen ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.01.2012, 19:02  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

http://dev.mysql.com/doc/refman/5.5/...l#function_now
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 17.01.2012, 19:04  
Neuer Benutzer
 
Registriert seit: 17.01.2012
Beiträge: 18
PHP-Kenntnisse:
Anfänger
Seppelchen befindet sich auf einem aufstrebenden Ast
Standard

Srry, jetzt bin ich genauso schlau wie vorher...
Seppelchen ist offline   Mit Zitat antworten
Alt 17.01.2012, 19:07  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von Seppelchen Beitrag anzeigen
Srry, jetzt bin ich genauso schlau wie vorher...
Na dann probier doch einfach mal aus was passiert wenn du innerhalb von MySQL NOW() verwendest..

Code:
SELECT NOW()
( im phpmyadmin oder einfach an irgendeinen x-beliebigen mysql-server senden )
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 17.01.2012, 19:09  
php.de
Gast
 
Beiträge: n/a
Standard

Man kann schon beim CREATE Defaultwerte für Spalten definieren.
Würde ich aber nicht tun. Ich definiere immer im PHP ein $now. Und mit dem arbeite ich dann überall im PHP-Script und in den SQL-Statements.
  Mit Zitat antworten
Alt 17.01.2012, 19:10  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von php.de Beitrag anzeigen
Man kann schon beim CREATE Defaultwerte für Spalten definieren.
Würde ich aber nicht tun. Ich definiere immer im PHP ein &now. Und mit dem arbeite ich dann überall im PHP-Script und in den SQL-Statements.
Manchmal, aber nur manchmal verzweifel ich an dem was du hier schreibst.. Du tust bitte was ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 17.01.2012, 19:11  
php.de
Gast
 
Beiträge: n/a
Standard

So spontan fällt mir kein Beispiel ein, wo Zeitunterschiede Probleme verursachen. Ich werd mir aber noch eines überlegen
  Mit Zitat antworten
Alt 17.01.2012, 20:00  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von php.de Beitrag anzeigen
Würde ich aber nicht tun.
Und warum? Wenn Du (hoffentlich) die Datum- und Zeit Funktionen von MySQL nutzt, sollten Deine Freunde NOW() oder UNIX_TIMESTAMP() heißen - einscjließlich der vielen anderen DateTime Funktionen, mit denen MySQL glänzt.
Zitat:
Ich definiere immer im PHP ein $now. Und mit dem arbeite ich dann überall im PHP-Script und in den SQL-Statements.
In PHP kannste so umständlich wie nur möglich arbeiten - wie Du willst. Aber in MySQL nutzt Du bitte das, was MySQL bietet.

Zitat:
Zitat von Seppelchen Beitrag anzeigen
Srry, jetzt bin ich genauso schlau wie vorher...
Lern lesen. MySQL kennt keine TIME() Funktion und ruft auch nich klammheimlich PHP auf.

Geändert von meikel (17.01.2012 um 20:02 Uhr). Grund: 2. Antwort hinzugefügt.
  Mit Zitat antworten
Alt 17.01.2012, 20:01  
meikel
Gast
 
Beiträge: n/a
Standard

... löschen
  Mit Zitat antworten
Alt 17.01.2012, 20:20  
php.de
Gast
 
Beiträge: n/a
Standard

Ein konkretes Beispiel:

Auf Seite 1 macht der User einen neuen DB-Eintrag.
In einer Sessionvariable wird festgehalten, wann der User zuletzt aktiv war.
PHP-Code:
$phpNow = new DateTime(); // z. B. aktuelle Uhrzeit, z. B. '2012-01-10 23:59:59'
$_SESSION['lastAction'] = $phpNow->format('Y-m-d H:i:s');
"INSERT INTO tabelle (x) VALUES ('x')" 
// in der Spalte 'zeit' wird mittels Default 'NOW' die Zeit gesetzt
// Hier sei angenommen, dass es in diesem speziellen Beispiel schon '2012-01-11 00:00:00' ist. 
Auf Seite 2 sollen nun alle neuen DB-INSERTs seit seiner letzten Aktion angezeigt werden.
Der User will also sehen, welche Einträge andere User mittlerweile durchgeführt haben.
PHP-Code:
"SELECT id, x, zeit FROM tabelle WHERE zeit > ".$_SESSION['lastAction']."ORDER BY id DESC LIMIT 10"
// Fälschlicherweise sieht er hier auch seinen zuletzt eingefügten Datensatz.
// Den will der User eigentlich gar nicht sehen. Er will ja nur die neuen Datensätze der anderen User sehen. 
D. h. mal bekommt er seinen eigenen letzten Eintrag angzeigt, ein andern mal nicht. Das läuft dann mehr oder weniger nach dem Zufallsprinzip. Abhängig davon, ob INSERT und setzen der Sessionvariable zur gleichen Sekunde passieren.

Kein Problem gibt es aber, wenn man beim INSERT $phpNow übergibt:
PHP-Code:
"INSERT INTO tabelle (x, zeit) VALUES ('x', '".$_SESSION['lastAction']."')" 

Geändert von php.de (17.01.2012 um 20:25 Uhr).
  Mit Zitat antworten
Antwort


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
Timestamp wie richtig verwenden? JamieFraser Datenbanken 7 12.03.2011 16:36
Einbindung eines Formulars in einer Seite Milerind PHP Tipps 2010 4 27.10.2010 12:40
Timestamp Formatierung pohlem Datenbanken 10 08.08.2010 21:59
[Erledigt] timestamp bestimmte Uhrzeit festlegen 1988UR PHP Tipps 2010 3 29.03.2010 11:27
Timestamp, Date, Datetime Extremefall PHP Tipps 2010 3 20.02.2010 18:53
[Erledigt] Timestamp in Datum umwandeln phplars PHP Tipps 2009 5 30.10.2009 19:55
[Erledigt] probleme mit timestamp Marti95. PHP Tipps 2009 6 29.04.2009 18:27
DB2: Timestamp zu ungenau MarcusG Datenbanken 13 28.11.2008 17:46
SQL Timestamp (Sekunden stören) Reen_Sc Datenbanken 5 10.07.2008 16:22
Nach Absenden eines Formulars Anzeige abrufen R.E.M. PHP Tipps 2006 9 18.09.2006 14:58
[Erledigt] Problem mit Datumsformat und Timestamp Datenbanken 3 09.02.2006 23:39
timestamp in mysql Aris Sung PHP-Fortgeschrittene 9 22.11.2005 17:54
[Erledigt] Beim absenden eines Formulars einen Wert kopieren HTML, Usability und Barrierefreiheit 7 12.05.2005 14:20
Mehrfachtes absenden eines Formulars verhindern ? PHP Tipps 2005 12 16.03.2005 01:13
timestamp PHP-Fortgeschrittene 4 26.08.2004 19:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:56 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