Versio

Tijd + 6 uur

Overzicht Reageren

Pagina: 1 2 volgende »

Dem Ian

Dem Ian

31/12/2011 14:57:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    $sql
= "
        INSERT INTO balk
        (
            naam,
            bericht,
            ip,
            datum
        )
        VALUES
        (
            '"
.mysql_real_escape_string($_POST['naam'])."',
            '"
.mysql_real_escape_string($_POST['bericht'])."',
            '"
.mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
            NOW()

        )
        "
;
?>


Problemen:


- Ik gebruik een webhost met een andere tijdzone. Er is dus altijd 6 uur verschil. Is het mogelijk om dit automatisch in mijn database te laten opnemen? Ik had ergens gelezen dat dit niet kon, op andere plaatsen wel..

- Het volgende probleem is, iemand heeft mij berichtenbalk uitgeprobeerd maar zijn IP werd niet goed weergegeven. Er waren te weinig cijfers. Hoe zou dit kunnen komen?

Hopelijk kunnen jullie me weer helpen.
Met vriendelijke groet
Dem Ian
Gewijzigd op 31/12/2011 14:58:38 door Dem Ian
 
PHP hulp

PHP hulp

25/05/2012 16:22:29
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Noppes Homeland

Noppes Homeland

31/12/2011 15:12:43
Quote Anchor link
Het weergeven van de juiste datum tijd is opmaak, dus dat regel je bij het ophalen van gegevens.

Let wel datum/tijd is een relatief begrip, je kunt dus niet aannemen dat er altijd 6 uur - wat dat dan inhoudelijk mag betekenen - tijdsverschil is.

En raadpleeg eens het grote handleidingenboek van je database of als je het met php wilt doen dan raadpleeg je php.net
 
Dem Ian

Dem Ian

31/12/2011 15:22:44
Quote Anchor link
Ik had ook ergens gelezen dit: date_default_timezone_set('Europe/Berlin');
Hoe zou ik dit dan in mijn script kunnen zetten of werkt dit dan ook via het ophalen van gegevens?

Ik ben ook bezig met nu phptuts helemaal te lezen :)
 
Noppes Homeland

Noppes Homeland

31/12/2011 15:26:17
Quote Anchor link
Dat is php, dus dan blijf je het tijdsverschil behouden.

Antwoord op je date_default_timezone_set vraag is te vinden op php.net

Quote:
Ik ben ook bezig met nu phptuts helemaal te lezen

denk niet dat je daar veel wijzer van wordt
 
Dem Ian

Dem Ian

31/12/2011 15:29:48
Quote Anchor link
Moet ergens beginnen om Php te leren?
 
- Aar -

- Aar -

02/01/2012 13:46:10
Quote Anchor link
Op phptuts.nl staat een mooie beginnerstutorial.
 
Dem Ian

Dem Ian

02/01/2012 14:03:24
Quote Anchor link
Heb eigenlijk een dom vraagje maar dit staat niet op phptuts en ik denk dat ik daarvoor geen nieuwe topic dien te starten.

Hoe neem ik de hoogste ID uit me database?
 
- Aar -

- Aar -

02/01/2012 14:03:52
Quote Anchor link
SELECT MAX(id) FROM iets
Gewijzigd op 02/01/2012 14:04:32 door - Aar -
 
Dem Ian

Dem Ian

02/01/2012 14:21:27
Quote Anchor link
Nja, je snapt me denk ik wat verkeerd. Heb het ook niet goed uitgelegd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$sql_get_user =    "SELECT stats
                    FROM status
                    WHERE id='".mysql_real_escape_string($_GET['id'])."'
                   ";


Ik moet dus bij 'WHERE' de hoogste id selecteren. Het laatste wat dus eigenlijk in de database is toegevoegd.
 
- SanThe -

- SanThe -

02/01/2012 14:23:55
Quote Anchor link
WHERE id = MAX(id)
 
Herman van Ree

Herman van Ree

02/01/2012 14:24:58
Quote Anchor link
SELECT stats FROM status ORDER BY id DESC LIMIT 1
 
Dem Ian

Dem Ian

02/01/2012 14:25:32
Quote Anchor link
Oh ok, en is dat dan sql injection vrij?
 
- SanThe -

- SanThe -

02/01/2012 14:26:56
Quote Anchor link
Ja, er komt toch geen enkele input van een gebruiker bij kijken.
 
Dem Ian

Dem Ian

02/01/2012 14:32:17
Quote Anchor link
Ik heb nog altijd een foutje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$sql_get_user =    "SELECT stats
                    FROM status
                    WHERE id = MAX(id)
                   ";


De error zegt dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Error: Invalid use of group function
SELECT stats
                    FROM status
                    WHERE id = MAX(id)
 
Erwin H

Erwin H

02/01/2012 14:35:48
Quote Anchor link
Probeer het voorbeeld van Herman als je het hele record wilt hebben.
 
Dem Ian

Dem Ian

02/01/2012 14:37:03
Quote Anchor link
Oh lol, die had ik niet gezien.
Bedankt het werkt.
 
Herman van Ree

Herman van Ree

02/01/2012 14:38:31
Quote Anchor link
Ik denk dat je MAX(id) alleen voor de FROM kunt gebruiken
 
Dem Ian

Dem Ian

02/01/2012 14:45:38
Quote Anchor link
Zou het niet weten maar m'n eerste script werkt nu.
 
- SanThe -

- SanThe -

02/01/2012 14:46:05
Quote Anchor link
Herman van Ree op 02/01/2012 14:38:31:
Ik denk dat je MAX(id) alleen voor de FROM kunt gebruiken


Blijkbaar. Wist ik niet.
 
Joren de Wit
Beheerder

Joren de Wit

02/01/2012 15:56:54
Quote Anchor link
Ondanks dat het probleem opgelost is, wil ik er toch een kleine kanttekening bij plaatsen. Het lijkt erop alsof je nu het id gebruikt om records te sorteren op het moment waarop ze toegevoegd zijn. Dit mag je eigenlijk niet doen, aangezien het id je deze informatie helemaal niet geeft, hoewel dat wel zo lijkt. Voeg je bijvoorbeeld oudere records opnieuw in in je database, dan krijgen deze wel een hoger id...

Het id is er enkel voor bedoeld om records uniek aan te duiden, niet om op te sorteren. Wil je iets sorteren op moment van toevoegen, sla dan ook een datumtijdstempel op en sorteer daarop.
 
Herman van Ree

Herman van Ree

02/01/2012 16:05:06
Quote Anchor link
Als we dan toch bezig zijn: gebruik geen timestamp om bv. 'creation_date' te vullen.
Er zijn nogal wat versies/implementaties van Mysql die bij elke update het eerste timestamp-veld in een record ALTIJD opnieuw vullen.

Dus als creation_date toevallig het het eerste timestamp-veld tijdens CREATE is geweest, dan wordt het bij elke update van het reord opnieuw gevuld.

Geen timestamp, maar gewoon een datetime...voorkomt gedoe.
Gewijzigd op 02/01/2012 16:06:09 door Herman van Ree
 

Pagina: 1 2 volgende »



Overzicht Reageren

Get Adobe Flash player