Jump to content
Hijack

[Resolvido] Erro em mktime ()

Recommended Posts

Hijack

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:

<?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

Edited by Hijack

Share this post


Link to post
Share on other sites
pmg
        $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));

Falta-te qualquer coisa na linha que atribui um valor ao $ano :)


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
Hijack

Falta-te qualquer coisa na linha que atribui um valor ao $ano :)

Que situação :S tão óbvio que nem vi :D

Obrigado pmg :)

Resolvido

Edited by Hijack

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.