Jump to content

Problema com vários formulários


pedromartins

Recommended Posts

boas pessoal, amanhã tenho de apresentar a minha pap e estou com uns problema as nível de código, vou passar a explicar o problema.

Ora bem, tenho um "painel de administração" onde o administrador procura pelos o username que quer editar e aparece-lhe os campos todos para editar, ora aqui está o problema, quando carrego no botão para procurar, ele faz 3 refreshs e depois puff volta ao normal .. vou mandar o codigo

este código pertence apenas ao formulario de procurar e esta incluido num ficheiro onde mostra todos os utilizadores

<form action="" method="POST">
									    <h1> Editar utilizadores <h1>
											    Procurar username:<input type="text" name="procuser" value="" />
											    <input type="submit" value="Procurar" name="proc" />
											    </div>
											    <?php
											    if (isset($_POST['proc'])) {
												    $user = $_POST['procuser'];
												    ?>
												    <script type="text/javascript">
													    window.location = "index.php?pageid=adminedituser&user=<?php echo "$user" ?>";
												    </script>
												    <?php
											    }
											    ?>
											    </form>

este codigo supostamente deveria mostrar os dados do utilizador pesquisado e deixar alterar tudo e guardar, mas nada s:

<?php
require ("conexao.php");
if (isset($_GET['user']))
   $user = ($_GET['user']);
else
   ?>
   <script type="text/javascript">
    window.alert=("Introduza um nome para ser pesquisado!");
    window.location="index.php?pageid=admin";
   </script>
   <?php
   $sql = "select * from tbl_uti where username = '$user'";
   $resultado = mysql_query($sql) or
	    die("Erro na consulta.");
   $registo = mysql_fetch_array($resultado);
   if (mysql_affected_rows() == 0)
    $erro = "Não foi possível ler dados:" . mysql_error();
   else {
    $nome = $registo['nome'];
    $apelido = $registo['apelido'];
    $username = $registo['username'];
    $email = $registo['email'];
    $nivel = $registo['nivel'];
    ?>
    <form name="info" action="index.php?pageid=adminedituser" method="POST">
	    Nome: 
	     
	    <input type="text" name="nome" value="<?php echo $nome ?>" disabled="true"><br><br>
	    Apelido: 
	     
	    <input type="text" name="apelido" value="<?php echo $apelido ?>" disabled="true"><br><br>
	    Nome de Utilizador: 
	     
	    <input type="text" name="uti" value="<?php echo $username ?>" disabled="true" /><br><br>
	    Email: 
	     
	    <input type="text" name="email" value="<?php echo $email ?>" disabled="true" /><br><br>
	    Nível: 
	     
	    <input type="text" name="nivel" value="<?php echo $email ?>" disabled="true" /><br><br>
	    <input type="submit" value="Alterar" name="alterar" /> 
	     
	    <input type="submit" value="Guardar" name="guardar" disabled="true" /><br><br>
	    <?php
	    if (isset($_POST['alterar'])) {
		    ?>
		    <script type="text/javascript">
			    document.info.nome.disabled = false;
			    document.info.apelido.disable = false;
			    document.info.uti.disabled = false;
			    document.info.email.disabled = false;
			    document.info.nivel.disabled = false;
			    document.info.guardar.disabled = false;
			    document.info.alterar.value = "Cancelar";
			    document.info.alterar.name = "cancelar";
		    </script>
		    <?php
	    }
	    if (isset($_POST['cancelar'])) {

	    }
	    if (isset($_POST['guardar'])) {
		    $novonome = $_POST['nome'];
		    $novoapelido = $_POST['apelido'];
		    $novouser = $_POST['uti'];
		    $novoemail = $_POST['email'];
		    $novonivel = $_POST['nivel'];
		    $sql = "UPDATE tbl_uti SET nome= '$novonome', apelido='$novoapelido', username= '$novouser', email= '$novoemail', nivel='$novonivel WHERE apelido = '$apelido'";
		    $resultado = mysql_query($sql) or
				    die("Erro na consulta.");
		    if (mysql_affected_rows() == 0) {
			    $erro = "Não foi possível inserir o registo:" . mysql_error();
		    } Else {
			    ?>
			    <script type="text/javascript">
				    var rsp = confirm("Deseja alterar os dados?");
				    if (rsp == true) {
					    window.alert("Registo com sucesso!")
					    window.location = "index.php?pageid=infoconta";
				    }
				    else {
					    window.alert("Registo não alterado!");
					    window.location = "index.php?pageid=infoconta";
					    location.reload(true)
				    }
			    </script>
			    <?php
		    }
	    }
   }
   ?>
Link to comment
Share on other sites

 if (isset($_POST['proc'])) {
   // ...
   ?>
   <script type="text/javascript">
     window.location = "index.php?pageid=adminedituser&user=<?php echo "$user" ?>";
   </script>
   <?php
 }

o que eu estou a ler é :

caso valor $_POST['proc'] estiver definido, então é escrito no output do PHP um código javascript que força automaticamente o salto para outra página

logo no momento que o browser recebe a resposta do servidor e vai interpretar o javascript : pufff salta para uma nova página ...

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

mas em qual form ? no primeiro ou no segundo? é que seja como seja faz na mesma os refresh's s:

Se tens problemas a esse nível aconselho-te a, pelo menos, repensar como estás a fazer o sistema. Pela informação que li, não me parece que estejas a fazer o sistema de uma maneira correta

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.