Jump to content


Photo

[ajuda Urgente] - Trabalhando Com Checkbox E Arquivos


  • Faça o login para participar
4 replies to this topic

#1 fernandoferreira

fernandoferreira

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 20/08/2009, 20:15

Galera,

estou com um pequeno problema na montagem de meu script.

FUNCIONAMENTO:
- Um formulário com 7 checkbox (form1.php)
- Um arquivo que gerencia a criação (gravar.php)
- Cada checkbox terá um arquivo txt com seu conteudo.
- Ao ser marcado os checkboxs e clicar em enviar, ele deverá criar um arquivo (lista.php) com todos os arquivos txt dos checkboxs marcados.

Exemplo:
O checkbox firmware é referente ao arquivo firmware.txt e dentro dele está escrito: FORUM
O checkbox hardware é referente ao arquivo hardware.txt e dentro dele está escrito: WMONLINE
Ao ser marcado os dois checkboxs, deverá ser criado o arquivo 'lista.php' com os conteúdos do firmware e hardware, juntos. ( FORUM WMONLINE )


Problema:
Ele está apenas escrevendo o conteúdo do ultimo checkbox marcado.
Gostaria que ele juntasse todos os conteudos dos checkboxs marcados.


Conto com a ajuda de vocês!
Obrigado

FORM1.PHP
<body>
<form action="gravar.php" method="post">
<B>Campos presentes no checklist?</B><br>
<input type="checkbox" name="sistema" value="Hardware"> Hardware 
<input type="checkbox" name="sistema" value="Firmware"> Firmware
<input type="checkbox" name="sistema" value="SO"> SO
<input type="checkbox" name="sistema" value="Performance"> Performance
<input type="checkbox" name="sistema" value="Matrox"> Matrox
<input type="checkbox" name="sistema" value="DEPED"> Softwares DEPED
<input type="checkbox" name="sistema" value="Permissões"> Permissões de Usuários
<br><br><input type="submit">
</form>
</body>

GRAVAR.PHP
<html>
<head>
<body> 
<font face="calibri">

<?

// VARIAVEIS DOS ARQUIVOS
$arquivo = "lista.php";
$arquivo1 = "checklist.php";
$arquivo2 = "hardware.txt";
$arquivo9 = "firmware.txt";
$arquivo3 = "so.txt";
$arquivo4 = "performance.txt";
$arquivo5 = "mat.txt";
$arquivo6 = "dep.txt";
$arquivo7 = "permissoes.txt";
///////////////////////////////


	$manipular = fopen("$arquivo", "w+");
	$manipular1 = fopen("$arquivo1", "w+");
	$manipular2 = fopen("$arquivo2", "r");
	$manipular3 = fopen("$arquivo3", "r");
	$manipular4 = fopen("$arquivo4", "r");
	$manipular5 = fopen("$arquivo5", "r");
	$manipular6 = fopen("$arquivo6", "r");
	$manipular7 = fopen("$arquivo7", "r");
	$manipular9 = fopen("$arquivo9", "r");
	
	

		//CADASTRO HARDWARE///////////
		if ($_POST["sistema"] == "Hardware")
		{
		$hardware = fread($manipular2, filesize($arquivo2));
		}		
		//////////////////////////////
		
		//CADASTRO FIRMWARE///////////
		if ($_POST["sistema"] == "Firmware")
		{	
		$firmware = fread($manipular9, filesize($arquivo9)); 
		}		
		//////////////////////////////

		//CADASTRO SO /////////////////
		if ($_POST["sistema"] == "SO")
		{	
		$so = fread($manipular3, filesize($arquivo3));				
		}
		///////////////////////////////
		
		//CADASTRO PERFORMANCE /////////////////
		if ($_POST["sistema"] == "Performance")
		{
		$performance = fread($manipular4, filesize($arquivo4));
		}
		///////////////////////////////
	
		//CADASTRO MAT /////////////////
		if ($_POST["sistema"] == "Mat")
		{	
		$mat = fread($manipular5, filesize($arquivo5)); 
		}
		///////////////////////////////
	
		//CADASTRO DEP/////////////////
		if ($_POST["sistema"] == "DEP")
		{	
		$dep = fread($manipular6, filesize($arquivo6)); 
		}
		///////////////////////////////
	
		//CADASTRO PERMISSÕES /////////////////
		if ($_POST["sistema"] == "Permissões")
		{
		$permissoes = fread($manipular7, filesize($arquivo7));
		}
		///////////////////////////////
	
	
	
	if(!fwrite($manipular, $firmware . $hardware . $dep . $so . $permissoes . $performance . $mat))
	{
	echo "O texto foi gravado com sucesso!";
	}
	else
	{
	echo "erro!";
	}
	
	
	// Fechar os arquivos abertos
	fclose($manipular);
	fclose($manipular1);
	fclose($manipular2);
	fclose($manipular3);
	fclose($manipular4);
	fclose($manipular5);
	fclose($manipular6);
	fclose($manipular7);
	fclose($manipular8);	
	fclose($manipular9);
	//}

?>
<br><br><p><a href="form1.php">Voltar para atualizacao</a></p>
</font>
</body>
</head>
</html>


#2 l3on4rdo

l3on4rdo

    O Mestre dos Mestres

  • Usuários
  • 159 posts
  • Sexo:Não informado
  • Localidade:São Carlos - SP

Posted 20/08/2009, 23:46

coloque apos cada
if ($_POST["sistema"] == "SO")
		{	
		$so = fread($manipular3, filesize($arquivo3));				
		}

um else, tipo :

if ($_POST["sistema"] == "SO")
		{	
		$so = fread($manipular3, filesize($arquivo3));				
		}else

Obs. Não feche o else (vai ficar tipo elseif) !!

Veja se com isso funciona!

Abraços
Buscando um convite do TorrentLeech ! Se tiver um, me mande uma MP ! Ratio > 1 garantida !

#3 fernandoferreira

fernandoferreira

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 21/08/2009, 12:42

Caro
coloquei da maneira que você disse, mas não deu certo.
Aconteceu que o arquivo foi gerado em branco, sem nenhum texto.

Alguma luz? rs

#4 DeeK

DeeK

    Normal

  • Usuários
  • 63 posts
  • Sexo:Masculino

Posted 21/08/2009, 16:18

Tenta isso

<body>
<form action="gravar.php" method="post">
<B>Campos presentes no checklist?</B><br>
<input type="checkbox" name="sistema[]" value="Hardware"> Hardware 
<input type="checkbox" name="sistema[]" value="Firmware"> Firmware
<input type="checkbox" name="sistema[]" value="SO"> SO
<input type="checkbox" name="sistema[]" value="Performance"> Performance
<input type="checkbox" name="sistema[]" value="Matrox"> Matrox
<input type="checkbox" name="sistema[]" value="DEPED"> Softwares DEPED
<input type="checkbox" name="sistema[]" value="Permissões"> Permissões de Usuários
<br><br><input type="submit">
</form>
</body>

Na frente de todos esses $_POST coloque o ISSET.
Isso verificar se ele foi Setado ou Selecionado.
Só um como exemplo abaixo.

if (isset($_POST["sistema"]) == "Hardware")
		{
		$hardware = fread($manipular2, filesize($arquivo2));
		}

Edição feita por: DeeK, 21/08/2009, 16:18.


#5 fernandoferreira

fernandoferreira

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 21/08/2009, 20:18

Obrigado e resolvido!
Pode fechar o tópico




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq