Hijack 0 Posted July 4, 2013 Report Share Posted July 4, 2013 (edited) 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 July 5, 2013 by Hijack Link to post Share on other sites
pmg 85 Posted July 5, 2013 Report Share Posted July 5, 2013 $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! Link to post Share on other sites
Hijack 0 Posted July 6, 2013 Author Report Share Posted July 6, 2013 (edited) Falta-te qualquer coisa na linha que atribui um valor ao $ano Que situação :S tão óbvio que nem vi Obrigado pmg Resolvido Edited July 6, 2013 by Hijack Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now