Avatar billede langkiller Nybegynder
10. november 2011 - 23:29 Der er 10 kommentarer og
1 løsning

Warning: mktime() expects parameter 1 to be long, string given in

Har fået disse 2 fejlmeddelelser:
Får dem kun når jeg tester på nettet og ikke på localhost, hvilket jeg synes er meget underligt.

Warning: mktime() expects parameter 1 to be long, string given in /var/www/clich.net/public_html/insert.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /var/www/clich.net/public_html/insert.php:23) in /var/www/clich.net/public_html/insert.php on line 47


Her er så toppen af insert.php


<?php
require("functions.php");
connect();



$action = $_GET["action"];

if ($action == "reunion")
{
                           
        $overskriftdk = mysql_real_escape_string($_POST["overskriftdk"]);
        $overskriften = mysql_real_escape_string($_POST["overskriften"]);   
        $indholddk = mysql_real_escape_string($_POST["indholddk"]);
        $indholden = mysql_real_escape_string($_POST["indholden"]);
        $dag = mysql_real_escape_string($_POST["dag"]);
        $maaned = mysql_real_escape_string($_POST["maaned"]);
        $aar = mysql_real_escape_string($_POST["aar"]);
        $minut = mysql_real_escape_string($_POST["minut"]);
        $time = mysql_real_escape_string($_POST["time"]);
        $sted = mysql_real_escape_string($_POST["sted"]);
        $timestamp = mktime($time, $minut, 0, $maaned, $dag, $aar); // er linje 23

        $menutitel = "".$sted." ".$aar."";



linje 47 er en header location som ser sådan her ud:

header("location: opret.php?opret=reunion&errtid=".$errtid."&erroverskrift=".$erroverskrift."&errindhold=".$errindhold."&errsted=".$errsted."&err=$error");



Har ingen ide om hvad der er galt.
Avatar billede olebole Juniormester
10. november 2011 - 23:43 #1
<ole>

Fejl nummer to skyldes, at PHP allerede har skrevet noget output - nemlig den første fejlmelding  *o)

Fejl nummer et, skyldes nok, at $time er en streng. Prøv at bruge intval på dine 'tal' i mktime

/mvh
</bole>
Avatar billede olebole Juniormester
10. november 2011 - 23:44 #2
Men hvorfor alle de mysql_real_escape_string? Brug mysqli eller PDO i stedet. Det er langt sikrere  =)
Avatar billede langkiller Nybegynder
10. november 2011 - 23:54 #3
Sådan her?
$timestamp = mktime("intval($time, intval('$minut'), intval('0'), intval('$maaned'), intval('$dag'), intval('$aar')");


det ændrede ikke på noget? eller har jeg gjort det forkert?
Avatar billede langkiller Nybegynder
10. november 2011 - 23:57 #4
ahh okay fjernede "" .. troede de skulle være der pga det var en string, men det virker nu.
ang. mysqli og PDO hvilken en burde jeg så bruge?
Avatar billede olebole Juniormester
11. november 2011 - 00:00 #5
Husk også at afslutte den første parentes  *o)

Jeg bruger selv mysqli. Andre sværger til PDO - som dog også har andre fordele. Sikkerhedsmæssigt mener jeg dog ikke, der er den store forskel
Avatar billede olebole Juniormester
11. november 2011 - 00:09 #6
Du kan evt. kikke på denne wrapper (og rettelsen ovenfor). Eller denne tråd.

Wrapperen udnytter mysqli's sikkerhed - men ikke dens performance forbedring ved mange ens kald (f.eks. i en løkke). Du kan jo begynde der og så gå videre til at hardcode, når du har repeterende kald  =)
Avatar billede langkiller Nybegynder
11. november 2011 - 00:26 #7
Det vil jeg da helt sikkert kigge på :)
Og tak for hjælpen med mktime problemet.

Må hellere lukke tråden igen
Avatar billede olebole Juniormester
11. november 2011 - 00:34 #8
Det var så lidt  =)
Avatar billede langkiller Nybegynder
11. november 2011 - 00:36 #9
hov har lige fundet ud af at
mktime(intval('$time'), intval('$minut'), 0, intval('$maaned'), intval('$dag'), intval('$aar'));

giver et helt forkert timestamp :S kan du se hvad der er galt med den?
Avatar billede olebole Juniormester
11. november 2011 - 00:48 #10
Ja, slet dine gåseøjne - så vil det virke  =)
Avatar billede langkiller Nybegynder
11. november 2011 - 16:48 #11
Jep det gjorde det :) tak igen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester