Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Muskt

com combobox e diretorios

Recommended Posts

Olá a todos,

 

Estou tentando fazer uma combobox se encher com o nome dos diretorios de uma pasta.

Estou tendo o seguinte erro:

 

Parse error: parse error, unexpected T_VARIABLE in /var/www/colecoes/index.php on line 16

O meu código é o seguinte:

 

<?phprequire_once("scripts/header.php");if ($dir=opendir("colecoes")){	$i=0;	while(($arquivos=readdir($dir)) !== false){		if($arquivos=="." or $arquivos==".." or $arquivos=="scripts") continue; {			if(is_dir($arquivos)) {				$dirs[$i] = "Coleção " . $arquivo;				$i++; } } } };?><form action="scripts/direcionador.php">	<p>Escolha uma coleção:		<select name="cmb_colecao">			<?php 				for($i=0; $dirs[$i] == NULL; $i++) {					print("<option value="$i">$dirs[$i]</option>");	}			?>		</select>		<input type="submit" name="btn_ok" value=" OK " />	</p></form><?phprequire_once("scripts/rodape.php");?>

Alguem pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na hora de montar a select, o correto seria

print "<option value='$i'>".$dirs[$i]."</option>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nuss ... que erro infantil http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Mais ainda não está funcionando corretamente ...

 

Warning: opendir(colecoes): failed to open dir: No such file or directory in /var/www/colecoes/index.php on line 3

E o pior que existem arquivos (index.php) e diretorios (11 e scripts) nessa pasta.

Ai ele me enxe o combo com ".." eternamente e deixa minha maquina lenta ...

Vo dar uma revisada no codigo, quem puder me ajudar ... eu agradeço :mellow:

 

Resolvi em partes ...

 

<?phprequire_once("scripts/header.php");if ($dir=opendir("[b].[/b]")){	$i=0;	while(($arquivos=readdir($dir)) !== false){		if($arquivos=="." or $arquivos==".." or $arquivos=="scripts") continue; {			if(is_dir($arquivos)) {				$dirs[$i] = "Coleção " . $arquivo;				$i++; } } } };?><form action="scripts/direcionador.php">	<p>Escolha uma coleção:		<select name="cmb_colecao">			<?php				for($i=0; $dirs[$i] == NULL; $i++) {					print("<option value=" . $i . "> . $dirs[$i] . </option>");	}			?>		</select>		<input type="submit" name="btn_ok" value=" OK " />	</p></form><?phprequire_once("scripts/rodape.php");?>

Como estou no mesmo diretorio em que quero buscar as pastas, substitui o nome da pasta por .

So que a combo não está enxendo ...

o comportamento correto era na combo aparecer só "Coleção 11"

mais nem isso tá ocorrendo ... agora ja não sei o que fazer :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, deu certo ;D

 

Mais ainda não completamente ... axo que é até por isso que estava dando erro na avaliação do for antes ...

 

ele não tá concatenando o nome do diretorio com a palavra coleção, nessa linha:

 

$dirs[$i] = "Coleção " . $arquivo;

ai na combo aparece x Coleção onde x é igual ao numero de diretorios ai inves de aparecer Coleção dir1, Coleção dir2 e assim sucessivamente ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?phprequire_once("scripts/header.php");if ($dir=opendir(".")){	$i=0;	while(($arquivos=readdir($dir)) !== false){		if($arquivos=="." or $arquivos==".." or $arquivos=="scripts") continue; {			if(is_dir($arquivos)) {				$dirs[$i] = "Coleção " . $arquivo;				$i++; } } } };?><form action="scripts/direcionador.php">	<p>Escolha uma coleção:		<select name="cmb_colecao">			<?php 				for($i=0; $i<count($dirs); $i++) {					echo "<option value=\"$i\">" . $dirs[$i] . "</option>";	}			?>		</select>		<input type="submit" name="btn_ok" value=" OK " />	</p></form><?phprequire_once("scripts/rodape.php");?>

Sem ideia de onde possa estar o erro :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puts ... não acredito !Tô muito desatento ainda a essas pequenas coisas :/Por causa de um S isso tudo :@Mais valeu a ajuda rapaz !Muito obrigado mesmo !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltei http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Eu to com um problema diferente, mais como se trata do mesmo script, postei aqui mesmo ...

 

o Script:

 

<?phprequire_once("scripts/header.php");if ($dir=opendir(".")){	$i=0;	while(($arquivos=readdir($dir)) !== false){		if($arquivos=="." or $arquivos==".." or $arquivos=="scripts") continue; {			if(is_dir($arquivos)) {				$dirs[$i] = "Coleção " . $arquivos;				$i++; } } } };sort($dirs);?><form action="index.php?destino=<?php $destino ?>" method="post">	<p>Escolha uma coleção:		<select name="cmb_colecao"><?php 				for($i=0; $i<count($dirs); $i++) {					print "			<option value=\"$i\">" . $dirs[$i] . "</option>\n";	}			?>		</select>		<input type="submit" name="btn_ok" value=" OK " />	</p></form><?php$destino = $_POST[cmb_colecao];require_once("scripts/rodape.php");?>

Bom axo que só de ver o código já da pra ver o que eu tentei fazer http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Eu sou iniciante am PHP ainda, mais juro que pesquisei e testei tudo que eu pensei q poderia dar certo.

 

Pra quem não entendeu, eu queria passar o value da combo pelo link do formulario pra depois fazer um case de onde ele deve ir.

 

Mais uma vez conto com a ajuda de voces http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Desculpem qualquer coisa ...

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estamos trabalhando em \colecoes\index.php, que agora está com o seguinte código.

 

<?phprequire_once("scripts/header.php");$destino = $_GET[cmb_colecao];if ($destino == NULL) {	if ($dir=opendir(".")){		$i=0;		while(($arquivos=readdir($dir)) !== false){			if($arquivos=="." or $arquivos==".." or $arquivos=="scripts") continue; {				if(is_dir($arquivos)) {					$dirs[$i] = "Coleção " . $arquivos;					$i++; } } } };	sort($dirs);?><form action="index.php?destino=<?php $destino ?>" method="post">	<p>Escolha uma coleção:		<select name="cmb_colecao"><?php 				for($i=0; $i<count($dirs); $i++) {					print "			<option value=\"$i\">" . $dirs[$i] . "</option>\n";	}			?>		</select>		<input type="submit" name="btn_ok" value=" OK " />	</p></form><?php$_POST[cmb_colecao]; }else {	switch ($destino) {		case "11" : /* Ir para index da pasta 11 */ break;		default : /*Ir para aviso que não está ok */ break; }; };require_once("scripts/rodape.php");?>

O que eu quero q esse script faça é o seguinte:

 

1. Carregar um combobox com o nome dos diretorios acrecido de "Coleção" no começo.

2. Pegar a escolha do usuario e leva-lo a pagina certa, como só irei desenvolver da coleção 11 para frente, quando escolher a coleção 11 ele deve levar o usuario a pagina localizada em /colecoes/11/index.php e assim sucessivamente.

 

Qualquer outro esclarecimento é so me perguntar.

Desculpe pelo incomodo, mais é o meu primeiro "grande" projeto em php http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rá rá ! Perfeito !!!Agora eu so tenho que pegar o valor e aumentar 1, pois o primeiro valor da combo é 0 e da coleção é 1.Cara brigadão da ajuda !!! Valeu mesmo !!![]'s !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não daria certo assim, ele ia pular o primeiro item.Além disso vo ter que tratar para aparecer na url o 0 quando tiver um digito só:Ex. o item com valor 1 na url tem que aparecer 02se eu conseguir alguma colução eu posto !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.