• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

TWiz

Problema com Forms

6 mensagens neste tópico

Estou com um problema na minha pagina em PHP, a pagina que não lê as forms quando se faz o submit, segundo os meus testes, não será do $_REQUEST, mas de outro motivo. Estou a usar o valor vazio nos inputs, para mais tarde acrescentar no javascript, mas nem mesmo quando ponho um valor de origem, digamos, "1" ele o reconhece quando faço submit. Ajuda bem-vinda.  :P

A ideia desta pagina é fazer uma simples listagem de fotografias, divididas por 2 categorias, cada uma em sua respectiva pasta.

Então aqui está o codigo completo (index.php):

<?php
echo '<html><head>
<title>fotos</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" language="javascript">
function selectc(category)
{
if (category >= 0) && (category <= 1) {
document.select.category.value = category ;
document.select.submit();
}
}
function selectp(page)
{
if (page >= 0) && (page <= 99) {
document.select.page.value = page;
document.select.submit();
}
}
function category(id)
{
if (id >= 0) { return "Originals"; }
if (id <= 1) { return "Album"; }
}
</script>
';
$perpage=50;
if (isset($_REQUEST['category'])) { echo $_REQUEST['category']; } else { echo 'undefined '; }
if ((isset($_REQUEST['category'])) && (!is_null($_REQUEST['category'])) && (is_int($_REQUEST['category'])) && ($_REQUEST['category'] >= 0) && ($_REQUEST['category'] <= 1)) { $category=$_REQUEST['category']; }
else { $category='index'; }
echo $category;
if ($category == 1) { $total=500; }
if ($category == 2) { $total=25; }
if ($category != 'index') { if ((isset($_REQUEST['page'])) && (!is_null($_REQUEST['page'])) && (is_int($_REQUEST['page'])) && ($_REQUEST['page'] >= 0) && ($_REQUEST['page'] <= ($total/$perpage-1))) { $page=$_REQUEST['page']; } else { $page='index'; } echo $page; }
echo '
</head><body>
<table width="*" height="*" border="0" cellpadding="0" cellspacing="0"><tr>';
if ($category == 'index') {
echo '<td>Category: <a href="javascript:selectc(0)">Originals</a>, <a href="javascript:selectc(1)">Album</a></td>';
}
if ($category != 'index') {
if ($page == 'index') {
$count0=0;
echo '<td>javascript:category('.$category.')<br>';
while ($count0 <= $total/$perpage-1) {
if ($count0 > 0) { echo ','; }
echo $count0;
if (strlen(substr($count0/10/$perpage,3)) == 0) { echo '<br>';
} }
echo '</td>';
}
if ($page != 'index') {
$t0=$page*$perpage;
$t1=$t0+$perpage-1;
$count0=$t0;
echo '<td>';
while ($count0 <= $t1) {
echo '<img src="'.$category.'/'.$count0.'jpg" alt="'.$count0.'">';
if (strlen(substr($count0/10/$perpage,3)) == 0) { echo '<br>'; }
} }
}
echo '</td>'; 
echo '</tr></table>
<form name="select" action="index.php" method="post"><input type="hidden" name="category" value="1"><input type="hidden" name="page" value="0"></form>
</body></html>';
?>

EDIT: Geshi

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim não fazes post... e se queres usar o request porque não usares a querystring?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim não fazes post... e se queres usar o request porque não usares a querystring?

Não faço o post porque? Já usei este metodo varias vezes com bons resultados, apenas não está a dar desta vez por algum motivo. ;)

Tens ideia de como contornar o problema?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Volto a dizer, para o que queres fazer é mais simples usares a querystring e usares um simples href...

E quanto ao post, era capaz de dizer que o código que está actualmente mostrado não é o mesmo, pois não?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apenas eliminei a informação da head para manter alg privacidade.

O resto do codigo está 100% igual.

Vou investigar a tecnica do querystring então. Thanks for the reply. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

"Apenas eliminei a informação da head para manter alg privacidade." Os dados estão lá na mesma... e só facilita criares a navegação feita pela queryString, imagina que queres mostrar uma galeria a um colega, é mais facil dizeres a esse colega "na primeira galeria clica na segunda foto, depois abres a terceira e depois  na primeira" ou "olha, vai a minha galeria em www.oteusite.com/index.php?galeria=123456" ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora