Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Erro em mktime ()

$
0
0
Boa noite pessoal, estou com um erro que não consigo resolver, já dei voltas e mais voltas ao código mas não estou a perceber o que fiz de errado. Aparecem-me os seguintes erros:

Warning: mktime() expects parameter 6 to be long, string given in F:\wamp\www\calendario\admin\calendario.php on line 108
Warning: mktime() expects parameter 6 to be long, string given in F:\wamp\www\calendario\admin\calendario.php on line 126
Warning: mktime() expects parameter 6 to be long, string given in F:\wamp\www\calendario\admin\calendario.php on line 164



Código do script:

Código (PHP):
<?php
         echo "<table class=\"calendario\" cellspacing=\"0\">";
       
         echo "<tr>";
         echo "<th class=\"calendario\">Domingo</th>";
         echo "<th class=\"calendario\">Segunda</th>";
         echo "<th class=\"calendario\">Terça</th>";
         echo "<th class=\"calendario\">Quarta</th>";
         echo "<th class=\"calendario\">Quinta</th>";
         echo "<th class=\"calendario\">Sexta</th>";
         echo "<th class=\"calendario\">Sábado</th>";
         echo "</tr>";
       
// Variavel para iniciar a contagem de dias
         $contar_dias = 1;
// Variavel para iniciar a contagem de dias restantes
         $contar_dias_resto = 1;
       
         if(isset($_GET['date'])){
         $separar_data = explode("-", $_GET['date']);
       
         $mes = $separar_data[0];
         $ano = $separar_data[1];
         $dia = date("t", mktime(0, 0, 0, $mes, 1, $ano));
         }
         else{
         $mes = date("n");
         $dia = date("t");
         $ano = ("y");
         }
// Criação da tabela com os dias da semana
         $colunas_tabela = 7;
// Calcular numero de dias da primeira semana
         $dia_semana = date("w", mktime(-1, 0, 0, $mes, 1, $ano));
       
       
// Criação de células em branco na primeira linha
         for($celulas=0;$celulas<=$dia_semana;$celulas++)
         {
         echo "<td class=\"calendario\" width=\"100\" height=\"10\">";
         echo "</td>";
         }
       
       
// Calcular dias preenchidos da primeira linha
         $contar_dias_restantes = 5 - $dia_semana;
       
       
// Criar parte de cima das células da primeira linha
         for($celulas=0;$celulas<=$contar_dias_restantes;$celulas++) {
         echo "<td class=\"datas\" width=\"100\" height=\"10\">";
         $mostrar = date("j", mktime(0, 0, 0, $mes, $contar_dias, $ano));
         $dia_atual = date("d");
         $mes_atual = date("n");
         $ano_atual = date("y");
// Mostrar informação se o dia atual está na primeira linha
         if($contar_dias == $dia_atual AND $mes == $mes_atual AND $ano == $ano_atual) {
         echo "<strong>Hoje " . $mostrar . "</strong>";
         }
         else{
         echo $mostrar;
         }
         echo "</td>";
         $contar_dias++;
         }
       
         echo "</tr>";
         echo "<tr>";
// Colocar número do dia nas células da primeira linha
         for($celulas1=0;$celulas1<=$dia_semana;$celulas1++) {
         echo "<td class=\"calendario\" width=\"100\" height=\"10\">";
         if($contar_dias_resto<=$dia) {
         }
         echo "</td>";
         }
       
// Criar parte de baixo das células da primeira linha
         for($celulas1=0;$celulas1<=@$dias_restantes;$celulas1++) {
         echo "<td class=\"calendario\" width=\"100\" height=\"40\">";
         }
       
       
// Calcular ultima linha do mês
         $num_linhas = ceil(($dia + $dia_semana) / $colunas_tabela);
         for($celulas=1;$celulas<=($num_linhas-1);$celulas++) {
         echo "<tr>";
// Criar parte de cima das células das restantes linhas
         for($celulas2=0;$celulas2<=(@$colunas_tabela-1);$celulas2++) {
         echo "<td class=\"datas\" width=\"100\" height=\"10\">";
         $mostrar = date("j", mktime(0, 0, 0, $mes, $contar_dias, $ano));
         $dia_atual = date("d");
         $mes_atual = date("n");
         $ano_atual = date("y");
// Verificar se o dia atual está nas restantes linhas da tabela
         if($contar_dias == $dia_atual AND $mes == @$mes_atual AND $ano == $ano_atual) {
         echo "<strong>Hoje " . $mostrar . "</strong>"; }
         else{
         echo $mostrar; }
         echo "</td>";
         $contar_dias++; }
         echo "</tr>";
         echo "<tr>";
       
       
// Criar parte de baixo das células das restantes linhas
         for($celulas2=1;$celulas2<=@$colulas_tabela;$celulas2++) {
         echo "<td class=\"calendario\" width=\"110\" height=\"40\">"; }
         echo "</td>";
         $contar_dias_resto++; }
         echo "</tr>";
         echo "</table>";
       
         ?>

O erro do mktime() aparece nas linhas que referi. Se alguém me puder ajudar agradecia.

Obrigado

Viewing all articles
Browse latest Browse all 14700