What is this php error

Discussion in 'Programming' started by tech4, Mar 30, 2010.

  1. #1
    PHP error need help in knowing what it is
    What does the error mean? I need to know to fix it.

    Warning: mktime() expects parameter 1 to be long, string given in /file.php on line 328

    Warning: Cannot modify header information - headers already sent by (file.php:328) in file.php on line 483

    Here's line 328 $date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
    Here's line 483 header("Location:../file.php?Err=1");


    Here's somemore if this will help
    $insertime=$row_list['dateCreated'];
    }
    $date1 = time();
    $dat = explode(" ",$insertime);
    $tmpDate = explode("-", $dat[0]);
    $tmpTime = explode(":", $dat[1]);
    $date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
    $dateDiff = $date1 - $date2;
    $fullMinutes = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60))/60);
    $query = "SELECT minutes FROM user_register WHERE id='$user_id'";
    $q2=mysql_query($query) or die(mysql_error());
    $minutes=mysql_fetch_array($q2);
    if($fullMinutes > ((int)$minutes[0])&& $minutes[0]!='0') {
     
    tech4, Mar 30, 2010 IP
  2. killaklown

    killaklown Well-Known Member

    Messages:
    2,666
    Likes Received:
    87
    Best Answers:
    0
    Trophy Points:
    165
    #2
    it means exactly what it says, mktime has the incorrect amount of parameters and you are trying to redirect after you already outputted content to the screen.
     
    killaklown, Mar 30, 2010 IP
  3. GreenWithEnvy

    GreenWithEnvy Active Member

    Messages:
    125
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    53
    #3
    No. THis is not what it is saying. "parameter 1 to be long" means that the data type passed in parameter 1 ($tmpTime[0]) should be long instead of the string that is given.

    Also, the second error is because he is trying to change header information when the error has outputted to the screen and caused headers to be sent already.


    PS can someone move to the appropriate thread in Web Development/PHP?
     
    Last edited: Mar 30, 2010
    GreenWithEnvy, Mar 30, 2010 IP
  4. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #4
    Someone told me to do this: Change it to:

    From
    $date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
    To:
    $date2 = mktime((int)$tmpTime[0],(int)$tmpTime[1],(int)$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
     
    tech4, Mar 30, 2010 IP
  5. GreenWithEnvy

    GreenWithEnvy Active Member

    Messages:
    125
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    53
    #5
    That would be me, did this work?

    You may need to add (int) to all of them.
     
    GreenWithEnvy, Mar 30, 2010 IP
  6. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #6
    New error looks the same:

    Warning: mktime() expects parameter 6 to be long, string given in /file.php on line 328

    Warning: Cannot modify header information - headers already sent by (output started at file.php:328) in file.php on line 483


    Here's the whole thing:

    $insertime=$row_list['dateCreated'];
    }
    $date1 = time();
    $dat = explode(" ",$insertime);
    $tmpDate = explode("-", $dat[0]);
    $tmpTime = explode(":", $dat[1]);
    Line 328 !!!$date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
    $dateDiff = $date1 - $date2;
    $fullMinutes = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60))/60);
    $query = "SELECT minutes FROM user_register WHERE id='$user_id'";
    $q2=mysql_query($query) or die(mysql_error());
    $minutes=mysql_fetch_array($q2);
    if($fullMinutes > ((int)$minutes[0])&& $minutes[0]!='0') {

    $news=mysql_real_escape_string($_REQUEST['statusnews']);
    $video1=mysql_real_escape_string($_REQUEST['video1']);
    $video2=mysql_real_escape_string($_REQUEST['video2']);
    $video3=mysql_real_escape_string($_REQUEST['video3']);
    $video4=mysql_real_escape_string($_REQUEST['video4']);
    $video5=mysql_real_escape_string($_REQUEST['video5']);

    $video1 = str_replace('watch?v=', "v/", $video1);
    $video2 = str_replace('watch?v=', "v/", $video2);
    $video3 = str_replace('watch?v=', "v/", $video3);
    $video4 = str_replace('watch?v=', "v/", $video4);
    $video5 = str_replace('watch?v=', "v/", $video5);

    $desc1=mysql_real_escape_string($_REQUEST['desc1']);
    $desc2=mysql_real_escape_string($_REQUEST['desc2']);
    $desc3=mysql_real_escape_string($_REQUEST['desc3']);
    $desc4=mysql_real_escape_string($_REQUEST['desc4']);
    $desc5=mysql_real_escape_string($_REQUEST['desc5']);


    $sql_restreg = "INSERT INTO `res_restaurents`(`ownerFirstname`,
    `ownerMail`,
    `restaurentName`,
    `restaurentContactname`,
    `restaurentType`,
    `restaurentFoodCategory`,
    `address`,
    `news`,
    `restaurentCountry`,
    `restaurentState`,
    `restaurentCity`,
    `restaurentZip`,
    `restaurantPhone`,
    `restParking`,
    `restBusinessHours`,
    `restAdditionalInfo`,
    `restaurentPic`,
    `restaurantLogo`,
    `restaurantOp1`,
    `restaurantOp2`,
    `restaurantOp3`,
    `restaurantOp4`,
    `restaurantOp5`,
    `restaurantOp6`,
    `restaurantOp7`,
    `restaurantOp8`,
    `restaurantOp9`,
    `restaurantOp10`,
    `restaurantOp11`,
    `restaurantOp12`,
    `restaurantOp13`,
    `restaurantOp14`,
    `restaurantOp15`,
    `restaurantOp16`,
    `restaurantOp17`,
    `restaurantOp18`,
    `restaurantOp19`,
    `restaurantOp20`,
    `restaurantOp21`,
    `restaurantOp22`,
    `restaurantOp23`,
    `restaurantOp24`,
    `restaurantOp25`,
    `video1`,
    `video2`,
    `video3`,
    `video4`,
    `video5`,
    `desc1`,
    `desc2`,
    `desc3`,
    `desc4`,
    `desc5`,
    `restaurentAbout`,
    `isApprove`,
    `status`,
    `user_id`
    )
    VALUES(
    '$fName',
    '$oMail',
    '$rName',
    '$contName',
    '$restType',
    '$restFoodCat',
    '$address',
    '$news',
    '$country',
    '$cmbState',
    '$cmbCity',
    '$restZip',
    '$restPhone',
    '$restParking',
    '$restBusinessHours',
    '$restAdditionalInfo',
    '$dbthumb_file',
    '$dblogo_file',
    '$dbresobt1_file',
    '$dbresobt2_file',
    '$dbresobt3_file',
    '$dbresobt4_file',
    '$dbresobt5_file',
    '$dbresobt6_file',
    '$dbresobt7_file',
    '$dbresobt8_file',
    '$dbresobt9_file',
    '$dbresobt10_file',
    '$dbresobt11_file',
    '$dbresobt12_file',
    '$dbresobt13_file',
    '$dbresobt14_file',
    '$dbresobt15_file',
    '$dbresobt16_file',
    '$dbresobt17_file',
    '$dbresobt18_file',
    '$dbresobt19_file',
    '$dbresobt20_file',
    '$dbresobt21_file',
    '$dbresobt22_file',
    '$dbresobt23_file',
    '$dbresobt24_file',
    '$dbresobt25_file',
    '$video1',
    '$video2',
    '$video3',
    '$video4',
    '$video5',
    '$desc1',
    '$desc2',
    '$desc3',
    '$desc4',
    '$desc5',
    '$resDesc',
    '$dataapprove->resturanteapprove',
    '0',
    '$user_id')";
    //echo "lk".$sql_restreg;

    mysql_query($sql_restreg) or die("Restautant Registration Query Error".mysql_error());
    $_SESSION['id'] = mysql_insert_id();
    $_SESSION['restname'] = $rName;
    $_SESSION['oname'] = $fName;
    sendMailToResturenrowner($oMail,$_SESSION['id']);
    header("Location:../file2.php");
    }
    else
    {
    header("Location:../file3.php?Err=1");
     
    Last edited: Mar 30, 2010
    tech4, Mar 30, 2010 IP
  7. GreenWithEnvy

    GreenWithEnvy Active Member

    Messages:
    125
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    53
    #7
    You didn't add the (int) to all of the parameters.

    $date2 = mktime((int)$tmpTime[0],(int)$tmpTime[1],(int)$tmpTime[2],(int)$tmpDate[1],(int)$tmpDate[2],(int)$tmpDate[0]);
    PHP:
     
    GreenWithEnvy, Mar 30, 2010 IP
  8. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #8
    I just added int to all of them got this error :

    Unknown column 'user_id' in 'where clause'
     
    tech4, Mar 30, 2010 IP
  9. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #9
    Here's another code that works (from admin side, from another filep.php that I know works (its for something similar))

    $insertime=$row_list['dateCreated'];
    }
    $date1 = time();
    $dat = explode(" ",$insertime);
    $tmpDate = explode("-", $dat[0]);
    $tmpTime = explode(":", $dat[1]);
    $date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
    $dateDiff = $date1 - $date2;
    $fullMinutes = floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60))/60);
    $query = "SELECT minutes FROM user_register WHERE id='$user_id'";
    $q2=mysql_query($query) or die(mysql_error());
    $minutes=mysql_fetch_array($q2);
    if($fullMinutes > ((int)$minutes[0])&& $minutes[0]!='0') {

    $news=mysql_real_escape_string($_REQUEST['statusnews']);
    $video1=mysql_real_escape_string($_REQUEST['video1']);
    $video2=mysql_real_escape_string($_REQUEST['video2']);
    $video3=mysql_real_escape_string($_REQUEST['video3']);
    $video4=mysql_real_escape_string($_REQUEST['video4']);
    $video5=mysql_real_escape_string($_REQUEST['video5']);

    $video1 = str_replace('watch?v=', "v/", $video1);
    $video2 = str_replace('watch?v=', "v/", $video2);
    $video3 = str_replace('watch?v=', "v/", $video3);
    $video4 = str_replace('watch?v=', "v/", $video4);
    $video5 = str_replace('watch?v=', "v/", $video5);

    $desc1=mysql_real_escape_string($_REQUEST['desc1']);
    $desc2=mysql_real_escape_string($_REQUEST['desc2']);
    $desc3=mysql_real_escape_string($_REQUEST['desc3']);
    $desc4=mysql_real_escape_string($_REQUEST['desc4']);
    $desc5=mysql_real_escape_string($_REQUEST['desc5']);


    $sql_restreg = "INSERT INTO `res_restaurents`(`ownerFirstname`,
    `ownerMail`,
    `restaurentName`,
    `restaurentContactname`,
    `restaurentType`,
    `restaurentFoodCategory`,
    `address`,
    `news`,
    `restaurentCountry`,
    `restaurentState`,
    `restaurentCity`,
    `restaurentZip`,
    `restaurantPhone`,
    `restParking`,
    `restBusinessHours`,
    `restAdditionalInfo`,
    `restaurentPic`,
    `restaurantLogo`,
    `restaurantOp1`,
    `restaurantOp2`,
    `restaurantOp3`,
    `restaurantOp4`,
    `restaurantOp5`,
    `restaurantOp6`,
    `restaurantOp7`,
    `restaurantOp8`,
    `restaurantOp9`,
    `restaurantOp10`,
    `restaurantOp11`,
    `restaurantOp12`,
    `restaurantOp13`,
    `restaurantOp14`,
    `restaurantOp15`,
    `restaurantOp16`,
    `restaurantOp17`,
    `restaurantOp18`,
    `restaurantOp19`,
    `restaurantOp20`,
    `restaurantOp21`,
    `restaurantOp22`,
    `restaurantOp23`,
    `restaurantOp24`,
    `restaurantOp25`,
    `video1`,
    `video2`,
    `video3`,
    `video4`,
    `video5`,
    `desc1`,
    `desc2`,
    `desc3`,
    `desc4`,
    `desc5`,
    `restaurentAbout`,
    `isApprove`,
    `status`,
    `user_id`
    )
    VALUES(
    '$fName',
    '$oMail',
    '$rName',
    '$contName',
    '$restType',
    '$restFoodCat',
    '$address',
    '$news',
    '$country',
    '$cmbState',
    '$cmbCity',
    '$restZip',
    '$restPhone',
    '$restParking',
    '$restBusinessHours',
    '$restAdditionalInfo',
    '$dbthumb_file',
    '$dblogo_file',
    '$dbresobt1_file',
    '$dbresobt2_file',
    '$dbresobt3_file',
    '$dbresobt4_file',
    '$dbresobt5_file',
    '$dbresobt6_file',
    '$dbresobt7_file',
    '$dbresobt8_file',
    '$dbresobt9_file',
    '$dbresobt10_file',
    '$dbresobt11_file',
    '$dbresobt12_file',
    '$dbresobt13_file',
    '$dbresobt14_file',
    '$dbresobt15_file',
    '$dbresobt16_file',
    '$dbresobt17_file',
    '$dbresobt18_file',
    '$dbresobt19_file',
    '$dbresobt20_file',
    '$dbresobt21_file',
    '$dbresobt22_file',
    '$dbresobt23_file',
    '$dbresobt24_file',
    '$dbresobt25_file',
    '$video1',
    '$video2',
    '$video3',
    '$video4',
    '$video5',
    '$desc1',
    '$desc2',
    '$desc3',
    '$desc4',
    '$desc5',
    '$resDesc',
    '$dataapprove->resturanteapprove',
    '0',
    '$user_id')";
    //echo "lk".$sql_restreg;

    mysql_query($sql_restreg) or die("Restautant Registration Query Error".mysql_error());
    $_SESSION['id'] = mysql_insert_id();
    $_SESSION['restname'] = $rName;
    $_SESSION['oname'] = $fName;
    // sendMailToResturenrowner($oMail,$_SESSION['id']);
    // header("Location:../file2.php");
    header("Location:file.xphp?msg=5");
    }
    else
    {
    //header("Location:../file3.php?Err=1");
     
    tech4, Mar 30, 2010 IP
  10. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #10
    it looks like this is missing "header("Location:filex.php?msg=5");" from the first file.

    Is that the reason?
     
    tech4, Mar 30, 2010 IP
  11. killaklown

    killaklown Well-Known Member

    Messages:
    2,666
    Likes Received:
    87
    Best Answers:
    0
    Trophy Points:
    165
    #11
    you've gotta work on your spelling, looking at the following code, i bolded the spelling mistakes


    you sure that last page works too? according to your error there is no 'user_id' in res_restaurents
     
    killaklown, Mar 30, 2010 IP
  12. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #12
    Actually, the spelling are not mine. I am not the programmer.

    So it may have to do with that?
    I don't know, for now I will cut and paste the other code into it see if it will work.
     
    tech4, Mar 30, 2010 IP
  13. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #13
    After I changed the code (cut and paste I got)
    Parse error: syntax error, unexpected $end in /file.php on line 484

    Here's line 484 (after rewrite)
    //header("Location:../123.php?Err=1");
     
    tech4, Mar 30, 2010 IP
  14. tech4

    tech4 Well-Known Member

    Messages:
    544
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    125
    #14
    Warning: mktime() expects parameter 1 to be long, string given in /file.php on line 328

    SAME error!

    Line 328 $date2 = mktime($tmpTime[0],$tmpTime[1],$tmpTime[2],$tmpDate[1],$tmpDate[2],$tmpDate[0]);
     
    tech4, Mar 30, 2010 IP