Ir para conteúdo
kim.y

Dúvida form action

Recommended Posts

index.php

<form action="index.php" method="post">
    <input type="text" name="username" size="10" />
    <input type="submit" name="someAction" value="GO" />
</form>


<?php
    if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['someAction']))
    {
        func();
    }
    function func()
    {
        $username = $_POST["username"];
        echo $username; 
    }
?>

 

Galera, esse atributo action ele recarrega a página?

Obs: Eu estou na página index.php e usando um action que aponta para ele mesmo.

 

Esse algoritmo é só um teste, o que eu quero mesmo fazer é um button que envia dados pro banco de dados sem ter que ir pra outra página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você utiliza um IF para verificar se você enviou o formulário na mesma página, você não precisa definir o action.

 

Para enviar dados para uma página externa ou a mesma página sem atualizar a página, se utiliza AJAX, para isso você deve importar a base Javascript:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>

Para utilizar corretamente o método, seu formulário terá que conter um id, para a função identificar que você está submetendo dados através daquele formulário, para isso utilize:

<form action="" id="frm_principal" method="post">
    <input type="text" name="username" size="10" />
    <input type="submit" name="someAction" value="GO" />
</form>

 

Para utilizar o envio do formulário sem dar refresh na página, pode-se utilizar este código como um exemplo:

<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery('#frm_principal').submit(function(){
            var dados = jQuery( this ).serialize();
            jQuery.ajax({
                type: "POST",
                url: "index.php",
                data: dados,
                success: function( data )
                {
                      alert('Dados cadastrados!');
                }
            });
            return false;
        });
    });
</script>

 

Estude Javascript e PHP, com o tempo, você saberá resolver erros de cor. ;)

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, kim.y disse:

Sou iniciante ainda, o caminho é estudar ajax, certo?

Caminho para seu caso e estudar o Javascript. O Ajax e como se fosse uma API do Javascript que pode fazer como por exemplo isso que você quer, enviar um fomulário sem atualizar a página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora


  • Conteúdo Similar

    • Por Emerson.Oliveira
      Estou fazendo Test login com ajax, estou aprendendo ajax não manjo quase nada vou postar código
       
      O que acontece fica só "verificando ...." não sai do rastro, só estou fazendo teste com esses arquivos os scripts pagina de login.php estão puxando corretamente, e a notificação é com notify
       
       
      LOGIN.PHP
       
      <form id="entrar_form" class="form-horizontal m-t-20" method="post"> <input name="user_login" id="user_login" type="text" > <input name="user_senha" id="user_senha" type="password"> <button type="submit" id="entrar_btn">ENTRAR</button> </form> <!-- jQuery --> <script src="jquery.min.js"></script> <script src="notifyjs/js/notify.js"></script> <script src="notifications/notify-metro.js"></script> <script src="entrar.js"></script>  
      ENTRAR.JS
       
       
      $(document).ready(function() { var btnform = $('#entrar_btn'); $('#entrar_form').submit(function() { $.ajax({ url: 'app.php', method: 'POST', data: $('#entrar_form').serialize(), beforeSend: function() { btnform.attr("disabled", true); btnform.html('<i class="fa fa-spin fa-spinner"></i> VERIFICANDO ...'); }, success: function(acessar) { switch (acessar) { case 'invalid_login': $.Notification.notify( 'error', 'top right', 'LOGIN INEXISTENTE !', 'Esse login não está registrado, tente novamente.'); btnform.attr("disabled", false); btnform.html('ENTRAR'); break; } } }); return false; }); });  
      APP.PHP
       
      <?php echo "invalid_login"; exit; ?>
       
    • Por Mateus Duarte
      Primeiramente gostaria de agradecer a comunidade que me ajudou em um topico anterior sobre outro assunto.
      Dessa vez me deparei com um problema diferente. Fiz um formulario de cadastro de clientes, porem, como faço para evitar um registro igual de clientes.
      Obs: Ja sei que definindo como UNIQUE no bando ele já evita isso. Porem gostaria de saber se tem algum metodo que faça isso em php.
       
      Ex basico apenas do nome
      <form action="cadastrar_membros_db.php" method="post" class="form-horizontal"> <input type="text" class="span6" name="nome" id="nome" value=""> <button type="submit" class="btn btn-primary">Cadastrar</button> </form>  
      Inserindo no banco (ex basico tbm)
      <?php include('conexao.php'); $nome = $_POST['nome']; $sql = "INSERT INTO usuarios VALUES (null, '$nome')"; mysqli_query($conexao, $sql); //Validar se cadastrou com sucesso usando mysqli_error $erro = mysqli_error($conexao); if(!$erro) { header('Location: membros.php?ok=1'); //echo "Usuário cadastrado com sucesso!"; } else { header('Location: cadastrar_membros.php?erro='.$erro); //echo "Não foi possível cadastrar o usuário! $erro"; } mysqli_close($conexao); ?>  
      Como consigo inserir uma verificação ai, para saber se já tem alguem com o mesmo nome?
    • Por Sam Holanda
      Boa noite , estou estudando Php e resolvi testar um codigo para fazer uma busca no banco de dados porem o mesmo codigo avisa um error Parse error: syntax error, unexpected 'echo' (T_ECHO) in C:\xampp\htdocs\TCC\pesquisar.php on line 20 
      <?php $host="localhost"; $user="root"; $pass=""; $banco="Cadastro"; $conexao = mysqli_connect($host, $user, $pass, $banco) or die(mysqli_error()); //pega o valor do campo digitado e coloca em uma variavel $pesquisar= $_POST['pesquisar']; // faz a busca do valor da variavel no banco de dados $resultado_cursos = "SELECT * FROM usuarios WHERE nome LIKE '%$pesquisar%' LIMIT 5"; $resultado_cursos = $msqli_query ($conexao, $resultado_cursos); while ($rows_cursos = mysqli_fetch_array($resultado_cursos) { echo "Nome do individuo : " .$rows_cursos['nome']. "<br>"; } ?> Agradeço desde ja a atenção e paciencia , pois n entendo mt do assunto . 
    • Por BrunoBit
      Faala rapaziiada.
      To com uma duvida, como faço pra pegar o ref de mobile? tentei usar o HTTP_REFERER, mas ta retornando em branco, sem o ref, ou seja, no desktop funciona, mas no mobile ta retornando vazio. De acordo com a experiência de vocês tem alguma alternativa?
       
      Valeu rapaziiada, abração e fiquem com Deus.
    • Por Sam Holanda
      Primeiro Boa noite , estou estudando um codigo de login e ele apresenta o seguinte erro , eu consigo logar sem precisar colocar o email e senha ou seja sem total segurança ne haha . Bom eu fiz um codigo pra vê se melhorava , quando o valor fosse null ele desse uma mensagem que estava faltando o email e a senha , porem ele esta ativando a outra mensagem do " if" que no caso é " Autenticado com sucesso". Bom , era pra aparecer apenas "Por favor insirar o email e senha". Segue o codigo , vou deixar marcado pra ficar melhor de achar , como faço para ele ativar apenas o if de error ?  Muito obrigado desde de ja!
       
      <?php $host="localhost"; $user="root"; $pass=""; $banco="Cadastro"; $conexao = mysqli_connect($host, $user, $pass, $banco) or die(mysqli_error()); ?> <!DOCTYPE html> <html> <head> <title>Autenticação</title> </head> <body> <?php if(isset($_POST['login'])){ $email= addslashes($_POST['email']); $senha=addslashes($_POST['senha']); if ($email == null or $senha == null) { echo "<center>Por favor , insirar o email e a senha</center>"; } $sql = mysqli_query($conexao, "SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha' "); $row = mysqli_num_rows($sql); if ($row > 0 ) { session_start(); $_SESSION['email']=$_POST['email']; $_SESSION['senha']=$_POST['senha']; echo "Você foi autenticado com sucesso"; echo "<script>loginsuccessfully()</script"; } else { echo "<center>Nome de usuario invalido, agurde.</center>"; echo "<script>loginfailed()</script"; } } ?> </body> </html>  
×

Informação importante

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

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: