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

sliderf

duvida nos formularios

4 mensagens neste tópico

BOa noite.

Comecei a pouco tempo a aprender php e tenho uma duvida que não dei resolver.Tenho um ficheiro registo.html onde so contem codigo html com um formulario de registo e tenho outro ficheiro em php onde adiciona numa BD.A minha duvida é que quando faço o submit do formulario ele redireciona para a pagina onde esta o codigo php onde imprime uma mensagem que o registo foi efectuado com sucesso,mas o que eu queria e que ele numa linha da tabela(onde esta o formulario) imprimisse a mensagem e não que aparecesse uma pagina em branco com a mensagem.Não queria por tudo junto estou a tentar separar as vistas(html)  do codigo(php) não sei se isto e a melhor solução.Como posso fazer isso?

registo.html

       <form id="registo" name="registo" method="post" action="registo1_main.php">
          <table width="200" border="1" align="center">
            <tr>
              <td><label>Nome:</label></td>
              <td><input name="nome" type="text" value="Insira o nome..." size="50"/></td>
            </tr>
            <tr>
              <td><label>Morada:</label></td>
              <td><input name="morada" type="text" value="Insira a morada..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Telefone:</label></td>
              <td><input name="telefone" type="text" value="Insira o telefone..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Email:</label></td>
              <td><input name="email" type="text" value="Insira o email..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Nº Contribuinte:</label></td>
              <td><input name="nc" type="text" value="Insira o nº contribuinte..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Nome Empresa:</label></td>
              <td><input name="empresa" type="text" value="Insira o nome da empresa..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Username:</label></td>
              <td><input name="user" type="text" value="Insira o username..." size="50"/></td>
            </tr>
            <tr>
               <td><label>Password:</label></td>
              <td><input name="password" type="text" value="Insira a password..." size="50"/></td>
            </tr>
		<tr>
              <td><label>Repita password:</label></td>
              <td><input name="password11" type="text" value="Repita a password..." size="50"/></td>
            </tr>
		<tr>
              
              <td>
              </td>
		  <td><input type="submit" value="Aceitar"/></td>
		  
            </tr>
          </table>
                </form>
      

e agora o registo1_main .php

include("cliente.class.php");


$cliente=new cliente();

if($cliente->addCliente($_REQUEST['nome'],$_REQUEST['morada'],$_REQUEST['telefone'],$_REQUEST['email'],$_REQUEST['nc'],$_REQUEST['empresa'],$_REQUEST['user'],$_REQUEST['password'])){

		echo"Registo com sucesso<br>"; 


}else

		echo"Problema no registo<br>"; 

$cliente->fecharCliente();

?>

Agradecia que me ajudassem.

Obrigado.

Sem mais...

sliderf

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

"Não queria por tudo junto estou a tentar separar as vistas(html)  do codigo(php) não sei se isto e a melhor solução.Como posso fazer isso?"

Tás a dizer que queres o form e o precessamento do form em duas paginas diferentes é isso?

É que era muito mais simples de fazers  o que queres se o processamento do form for feito na mesma pagina do form, ou seja o form ia enviar para ele proprio... Se isso servir avisa... Se n servir.. hnn.. é mais dificil.. mas axo k tb se arranja..

Uma coisa é quase certa: seja em 2 ficheiros ou em 1 o registo.html vai precisar de levar cenas em php pa fazer o que queres por isso vai passar a ser registo.php .. lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

BOas.

Acabei por fazer da seguinte maneira

<?php

//include ("DAL.php");
?>
<b>REGISTO DE UTILIZADORES</b>

<?php

if ($_REQUEST['status'] == "registo2")
{
?>
       <form id="registo" name="registo" method="post" action="index.php?pagina=registo2&status=verificar">
          <table width="200" border="1" align="center">
            <tr>
              <td><label>Nome:</label></td>
              <td><input name="nome" type="text" size="50">

		</td>
            </tr>
            <tr>
              <td><label>Morada:</label></td>
              <td><input name="morada" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Telefone:</label></td>
              <td><input name="telefone" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Codigo Postal:</label></td>
              <td><input name="codpostal" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Email:</label></td>
              <td><input name="email" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Nº Contribuinte:</label></td>
              <td><input name="nc" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Nome Empresa:</label></td>
              <td><input name="empresa" type="text" size="50"/></td>
            </tr>
            <tr>
               <td><label>Username:</label></td>
              <td><input name="user" type="text"  size="50"/></td>
            </tr>
            <tr>
               <td><label>Password:</label></td>
              <td><input name="password" type="text" size="50"/></td>
            </tr>
		<tr>
              <td><label>Repita password:</label></td>
              <td><input name="password1" type="text" size="50"/></td>
            </tr>
            
            
		<tr>
              
              <td>
              </td>
		  <td><input type="submit" value="Aceitar"/></td>
		  
            </tr>

          </table>
                </form>
      
<?php
}
if ($_REQUEST['status'] == "verificar")
{


?>

<br>
Resultado do registo<br><br>
<?php
    include ("cliente.class.php");
    if ($_REQUEST['nome'] != "")
    {
        if ($_REQUEST['morada'] != "")
        {
            if ($_REQUEST['telefone'] != "")
            {
                if ($_REQUEST['codpostal'] != "")
                {
                    if ($_REQUEST['email'] != "")
                    {
                        if ($_REQUEST['nc'] != "")
                        {
                            if ($_REQUEST['empresa'] != "")
                            {
                                if ($_REQUEST['user'] != "")
                                {
                                    if ($_REQUEST['password'] != "" && $_REQUEST['password1'] != "")
                                    {
                                        if ($_REQUEST['password'] == $_REQUEST['password1'])
                                        {
                                            $cliente = new cliente();
                                            
										if ($cliente->verifaUser($_REQUEST['user'])==false)
                                            {


                                                if ($cliente->addCliente($_REQUEST['nome'], $_REQUEST['morada'], $_REQUEST['telefone'],
                                                    $_REQUEST['codpostal'], $_REQUEST['email'], $_REQUEST['nc'], $_REQUEST['empresa'],
                                                    $_REQUEST['user'], $_REQUEST['password']))
                                                {
                                                    echo "Registo efectuado com sucesso !!!<br>";
                                                }
                                                else
                                                {
                                                    echo "Problema encontado no Registo !!!<br>";
                                                }
                                                //$cliente->fecharCliente();
                                            }
                                            else
                                            {

                                                echo "O Username ja existe. Por favor inserir outro username<br>";
                                            }  $cliente->fecharCliente();
                                        }
                                        else
                                        {
                                            echo "ERRO: As duas passwords não são coincidentes...<br>";
                                        }
                                    }
                                    else
                                    {

                                        echo "ERRO: Deve introduzir as duas password, e devem ser iguais...<br>";
                                    }
                                }
                                else
                                {
                                    echo "ERRO: Deve introduzir o username...<br>";
                                }
                            }
                            else
                            {

                                echo "ERRO: Deve introduzir o nome da empresa...<br>";
                            }
                        }
                        else

                        {

                            echo "ERRO: Deve introduzir o nº de contribuinte...<br>";
                        }
                    }
                    else

                    {

                        echo "ERRO: Deve introduzir o seu endereço de correio electrónico...<br>";
                    }
                }
                else
                {

                    echo "ERRO: Codigo Postal está mal introduzido...<br>";
                }
            }
            else
            {

                echo "ERRO: Deve introduzir o telefone ...<br>";
            }

        }
        else
        {

            echo "ERRO: Deve introduzir a sua morada...<br>";
        }
    }
    else
    {

        echo "ERRO: Deve introduzir o seu nome...<br>";
    }

}

?>





Agora tenho e o seguinte problema.Quando submeto o formulario e ele da algum erro depois quando faço retroceder o formulario já não aparece preenchido e tem de ser preencher tudo de novo.

A solução que me deram era passar as variaveis na url e assim preencher mas o formulario ainda é grande e a url fica enorme.Será esta a melhor maneira de o fazer?Que soluçoes tenho?

Obrigada.

Sem mais...

sliderf

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