Ir para conteúdo

POWERED BY:

Arquivado

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

h4v3st

[Resolvido] Passar dados post + querystring

Recommended Posts

Boa tarde pessoal. Preciso de entender como funciona o seguinte esquema, é o seguinte:

 

Estou incluindo as páginas por queryString, atualmente está assim:

Exemplo

$Pagina = strip_tags(trim($_GET["pg"]));
$Path   = "paginas/";
	
	if (isset($Pagina)){
	
		switch($Pagina){
			case "home":
				include $Path."home.php";	
				break;
                        case "add":
                                include $Path."addProjeto.php";    
                                break;
			default:
				include $Path."home.php";
				break;			
		}
	}

QueryString:

http://localhost/site/adm/IndexAdm.php?pg=add

Ao clicar em um dos menus, ele me leva pra pagina addProjeto.php

 

Nessa pagina addProjeto.php tenho o seguinte:

<div id="Projeto">
	<h1>» Adicionar projeto</h1><br /> 
	<form id="formAddProjeto" name="formAddProjeto" enctype="multipart/form-data" method="post" action="COMO FAZER AQUI?">
		<label>Nome projeto</label>
		<input type="text" name="editNome" size="27" id="editNome"/><br />
		<label>Data</label>
		<input type="text" id="editData" size="27" name="editData"/><br />
		<label>Logomarca</label>
		<input type="file" id="editLogomarca" size="27" name="editLogomarca" name="arquivo" /><br />
		<label>Descrição do projeto</label>
		<textarea id="editDesc" name="editDesc" cols="21" rows="5" /></textarea>
		<input class="botao" name="ok" value="Incluir"  type="submit" />
	</form>
</div>

no action do form eu preciso redirecionar pra pagina incluirProjeto.php, onde eu dou o insert no banco. Mas como passar faço isso nessa situação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum..

 

case 'incluir':
                                include $Path.'incluirProjeto.php';    
                                break;
        <form id="formAddProjeto" name="formAddProjeto" enctype="multipart/form-data" method="post" action="?pg=incluir">

index.php

<html>
<head>
	<title></title>
</head>
<body>
<?php
	$pg = isset( $_GET['pg'] ) ? $_GET['pg'].'.php' : 'home.php';
	include $pg;
?>
</body>
</html>

home.php

		<form action="?pg=incluir" method="post">
			<input type="text" name="teste" value="Bruno" />
			<input type="submit" name="ok" value="OK" />
		</form>

incluir.php

<?php
	var_dump( $_POST );

saída, após submeter:

array(2) { ["teste"]=> string(5) "Bruno" ["ok"]=> string(2) "OK" }

Compartilhar este post


Link para o post
Compartilhar em outros sites

William disse tudo, mas eu mudaria essa linha:

 

$Pagina = strip_tags(trim($_GET["pg"]));

Por algo como:

 

$Pagina = preg_match('/^[a-zA-Z0-9_.-]+$/',trim($_GET['pg'])) ? $_GET['pg'] : FALSE;

Explicando: se for letras, numeros, underline, ponto ou hifen ele permite a query string, do contrário faz dela um boolean false.

 

Não que estivesse inseguro, mas assim fica mais inteligente e completamente à prova de possíveis vulnerabilidades.

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certo aqui, na verdade eu ja tinha testado e meu grande amigo william me alertou que no meu arquivo qryString o nome da página estava escrito errado.

 

Estava incluiRprojeto e o certo era incluiProjeto.

 

Santa pressa que me atrasa!

 

Obrigado!

 

PS: HAXOR vou alterar o resgate da variavel igual você fez, valeu.

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.