Ir para conteúdo

POWERED BY:

Arquivado

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

mendofh

php + javascript

Recommended Posts

Ve ae alguem pode me ajudar

eu tenho esse codigo

<script language='JavaScript'>

	function gravar()
	{
<?php
include"conecta.php";
mssql_query("insert into observacoes (observacao, vaga) values ('$observacao', '$vaga')");	
	?>

    
	}
</script>


Observação:<br>
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"><?php echo $observacao ?></textarea>
<br>
Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
        <input type="button" value="Gravar" name="gravar" onclick="gravar();">

Ele nao esta sabendo qual o valor das variaveis $observacao e $vaga e esta inserindo em branco.

 

Como faco para arumar isso?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve ae alguem pode me ajudar

eu tenho esse codigo

<script language='JavaScript'>

	function gravar()
	{
<?php
include"conecta.php";
mssql_query("insert into observacoes (observacao, vaga) values ('$observacao', '$vaga')");	
	?>

    
	}
</script>


Observação:<br>
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"><?php echo $observacao ?></textarea>
<br>
Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
        <input type="button" value="Gravar" name="gravar" onclick="gravar();">

Ele nao esta sabendo qual o valor das variaveis $observacao e $vaga e esta inserindo em branco.

 

Como faco para arumar isso?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia mendofh...

 

seguinte, para que você possa pegar os valores do formulario você deve submete-lo

 

sugiro que você de uma lida neste artigo:

http://www.linhadecodigo.com.br/Artigo.aspx?id=220

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como você fazer isso diretamente no javascript.

Uma linguagem em Server-Side e a outra Client-Side, não roda ao mesmo tempo.

Primeiro o PHP e depois o JS.

<?php

include"conecta.php";

if($_SERVER['REQUEST_METHOD'] == "POST")
{
   $observacao = $_POST['observacao'];
   $vaga = $_POST['vaga'];
   
   $exe = mssql_query("insert into observacoes (observacao, vaga) values ('$observacao', '$vaga')") or die("Erro de inserção");
   $msg = "Inserão feita com sucesso!";
   
}

Observação:<br>
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"><?php echo $observacao ?></textarea>
<br>
Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
 <input type="submit" value="Gravar" name="gravar">
<br><br>

<?=$msg ?>

?>

Outra forma de fazer é você mandando como parametro em um link o que você digita no formulário para uma função javascript que chamar outra página php, que executa a ação de inserir os dados. Mas isso abriria outra janela e tals. (Creio que você nao quer assim).

 

Se você quiser fazer usando JS, vai ter que usar AJAX.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não da pra fazer isso.

vou posta o codigo todo para você ver.

<html>
<head>

<title>Website Admin</title>

<script language='JavaScript'>

	function gravar(ae)
	{
var po = ae;
//var gobservacao = gravar.observacao.value; 
//location.href='login.php?vaga='+gvaga  +'& observacao ='+gobservacao;  
location.href='login.php?user='+po;
	}
</script>


</head>

<body>

	<?php

	if ($submit) 
{


include"conecta.php";

$verifica_candidato = mssql_query("select * from Candidato where CodCandidato = '$cpf_candidato'");

	if(mssql_num_rows($verifica_candidato) ==0)
	{
	echo "<script>
	alert('Cpf não consta em nosso banco de dados.');
	location.href='admin_usuarios.php';
	</script>";
	}
	else
	{
echo("<center><b><font color = 'blue'> Dados do candidato:<br>");
echo("Nome: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'NomeCandidato') ."<br>"); 
echo("<font color = 'blue'>CPF: <font color = 'black'>");
echo($cpf_candidato ."<br>");
echo("<font color = 'blue'>Endereço: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Endereco') .", ");
echo(mssql_result($verifica_candidato, 0, 'Numero') ." - ");
echo(mssql_result($verifica_candidato, 0, 'Complemento') ."<br>                 ");
echo(mssql_result($verifica_candidato, 0, 'Bairro') ." - ");
echo(mssql_result($verifica_candidato, 0, 'Municipio') ."/");
echo(mssql_result($verifica_candidato, 0, 'Uf') ." <br> ");
echo("<font color = 'blue'>Telefone: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Telefone1') ." <br> ");
echo("<font color = 'blue'>Celular: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Telefone2') ." <br> ");
echo("<font color = 'blue'>Email: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Email') ." <br> <br> <br>");

?>

Observação:<br>
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"><?php echo $observacao ?></textarea>
<br>
Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
        <input type="button" value="Gravar" name="gravar" onclick="gravar('oi')">


<?php	}
}

	if (!$submit || $error) {

	?>
<form name="gravar" method="post" action="<?php echo $PHP_SELF ?>">

<p> </p>

Digite o CPF do candidato

<p> </p>
    	CPF:

          <input type="text" name="cpf_candidato" id="cpf_candidato" maxlength="11" value="<?php echo $cpf_candidato ?>"><br>

<input type="Submit" name="submit" value="Next">

      </body>
      <p>
<?php
}
?>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse if:

if ($submit) 

Troque por:

 

if($_SERVER['REQUEST_METHOD'] == "POST")

E nesse tambem:

if (!$submit || $error) {

Troque por:

if (!$_SERVER['REQUEST_METHOD'] == "POST" || $error)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua igual. eu quero e ele envie o valor dos text $vaga e #observacao.

 

Quando colo assim

 

<input type="button" value="Gravar" name="gravar" onclick="gravar('<?php $vaga ?>')">
o valor vai sem nada ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipow, qual a finalidade do seu sistema?

É só fazer a inserção no banco?

 

Se for, coloca assim:

<form action="recebe.php" method="post">  
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"></textarea>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50" />  
<input type="submit" name="ok" value="OK" />    
</form>
E na pagina que recebe, se pode coloca assim:

<?php
$observacao=$_POST['observacao'];
$vaga=$_POST['vaga'];

$query="insert into observacoes (observacao, vaga) values ('$observacao', '$vaga')");
$resultado=mysql_query($query);

echo "Foram inseridor no banco de dados:<br />";
echo "Vaga: $vaga<br />";
echo "Observação: $observacao";
exit;
?>
Ve se era isso que você queria e posta ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não posso fazer isso pq ja tenho um submit antes disso

vou postar o codigo todo pra ve se você entende.

<html>
<head>

<title>Website Admin</title>

<script language='JavaScript'>

	function gravar(ae)
	{
var po = ae;
//var gobservacao = gravar.observacao.value; 
//location.href='login.php?vaga='+gvaga  +'& observacao ='+gobservacao;  
location.href='login.php?user='+po;
	}
</script>


</head>

<body>

	<?php

	if($_SERVER['REQUEST_METHOD'] == "POST")
{


include"conecta.php";

$verifica_candidato = mssql_query("select * from Candidato where CodCandidato = '$cpf_candidato'");

	if(mssql_num_rows($verifica_candidato) ==0)
	{
	echo "<script>
	alert('Cpf não consta em nosso banco de dados.');
	location.href='admin_usuarios.php';
	</script>";
	}
	else
	{
echo("<center><b><font color = 'blue'> Dados do candidato:<br>");
echo("Nome: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'NomeCandidato') ."<br>"); 
echo("<font color = 'blue'>CPF: <font color = 'black'>");
echo($cpf_candidato ."<br>");
echo("<font color = 'blue'>Endereço: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Endereco') .", ");
echo(mssql_result($verifica_candidato, 0, 'Numero') ." - ");
echo(mssql_result($verifica_candidato, 0, 'Complemento') ."<br>                 ");
echo(mssql_result($verifica_candidato, 0, 'Bairro') ." - ");
echo(mssql_result($verifica_candidato, 0, 'Municipio') ."/");
echo(mssql_result($verifica_candidato, 0, 'Uf') ." <br> ");
echo("<font color = 'blue'>Telefone: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Telefone1') ." <br> ");
echo("<font color = 'blue'>Celular: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Telefone2') ." <br> ");
echo("<font color = 'blue'>Email: <font color = 'black'>");
echo(mssql_result($verifica_candidato, 0, 'Email') ." <br> <br> <br>");

?>

Observação:<br>
<textarea name="observacao" id="observacao" cols="50" maxlength="250" rows="5"><?php echo $observacao ?></textarea>
<br>
Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
        <input type="button" value="Gravar" name="gravar" onclick="gravar('<?php $vaga ?>')">


<?php	}
}



	if (!$_SERVER['REQUEST_METHOD'] == "POST" || $error){



	?>
<form name="gravar" method="post" action="<?php echo $PHP_SELF ?>">





<p> </p>

Digite o CPF do candidato

<p> </p>
    	CPF:

          <input type="text" name="cpf_candidato" id="cpf_candidato" maxlength="11" value="<?php echo $cpf_candidato ?>"><br>

    	

<input type="Submit" name="submit" value="Next">




      </body>
      <p>
<?php
}
?>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

De onde vem a $grava? Por acaso o que você quer é pegar o valor que foi digitado no campo?

 

Carlos Eduardo

 

Sim, eu quero pegar o valor do text vaga e enviar para um funcao javascript q tem vai chamar outra pagina.


function gravar(ae)
	{
var po = ae;
//var gobservacao = gravar.observacao.value; 
//location.href='login.php?vaga='+gvaga  +'& observacao ='+gobservacao;  
location.href='login.php?user='+po;
	}

Vaga: <br>
<input type="text" name="vaga" id="vaga" size="66" maxlength="50"  value="<?php echo $vaga ?>">
<br>
        <input type="button" value="Gravar" name="gravar" onclick="gravar('<?php $vaga ?>')">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não vai usar PHP pra isto. Só JS. Veja.

 

<input type="button" value="Gravar" name="gravar" onclick="gravar(document.getElementById('vaga').value)">

Mas eu não entendi o porque isto. Porque não cria um formulário normal e utiliza um botão do tipo submit? Vai enviar todos os campos do formulário sem maiores problemas.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a ignorancia, mas como eu vou usar um botao submit se eu já usei um antes.

da uma olhada no codigo completo que colei a cima.

Eu uso um botao submit para ver se o cpf existe no banco ai se existir ele carrega esse formulario, ai eu queria preencher e inserir no banco mas nao consegui fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui entender o seu código lá em cima, mas o submit "submete" todos os campos input que estiverem dentro do mesmo formulário, ou seja, entre as tags <form> e </form> (que eu não achei no seu código). Vou exemplificar:

 

<form name="form1" id="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']"?>">
    <input name="cpf" id="cpf" type="text"/>
    <input name="nome" id="nome" type="text"/>
    <input name="qualquercoisa" id="qualquercoisa" type="text"/>
    <input name="submit" id="submit" type="submit" value="Enviar"/>
</form>
<form name="form2" id="form2" method="post" action="<?php echo $_SERVER['PHP_SELF']"?>">
    <input name="outroCampo" id="outroCampo" type="text"/>
    <input name="maisUm" id="maisUs" type="text"/>
    <input name="submit" id="submit" type="submit" value="Enviar"/>
</form>
Se você clicar no primeiro submit, vai enviar os dados dos inputs cpf, nome e qualquercoisa. Se clicar no segundo submit, vai enviar os dados dos inputs outroCampo e maisUm.

 

Compreendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, mas eu não sei diferencia um submit do outro.

Aqui eu faço, if($_SERVER['REQUEST_METHOD'] == "POST")

ou seja quando clicar no submit via entrar nesse if

como eu faco pra fala q quando eu clica no submit do form 1 entra em um if e quando eu clica no submit do form2 vai entrar em outro if

tem como eu fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mendofh,

 

O Php só vai saber os valores de $vaga e $observacao se em algum momento ANTES do echo você os tiver declarado e atribuído valor.

Como perguntou o colega acima, de onde vieram essas variáveis? Se são campos informados pelo usuário, é impossível o Php recuperar esses valores sem um request.

 

Se são informações recebidas de uma consulta a um DB você deve atribuir corretamente o resultado à essas variáveis.

 

Não achei no seu script do post #3 a declaração dessas variaveis. Parece que você está querendo dar echo em variáveis que não existem, o que resulta em um echo vazio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro tarilonte.

 

O problema é que ele utiliza register_global em ON. Então, o que se pegaria como $_POST['nome'], está disponível em $nome. Isto é muito ruim, mas não tem relação com o problema dele.

 

Para evitar confundir e solucionar mais rapidamente, não toquei neste assunto ainda. Mas definitivamente ele precisa modificar o código e trabalhar com o register_global em OFF e recuperar as variáveis de forma correta ($_POST, $_GET, $_SESSION e afins).

 

http://br.php.net/manual/pt_BR/reserved.variables.post.php

http://br.php.net/manual/pt_BR/reserved.variables.get.php

http://br.php.net/manual/pt_BR/reserved.variables.server.php

http://br.php.net/manual/pt_BR/reserved.variables.session.php

http://br.php.net/manual/pt_BR/reserved.variables.cookies.php

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

mendofh, não duplique suas dúvidas pelo fórum. Esteja atento às normas de conduta do fórum.

 

Caso tenha dúvidas sobre qual o local correto, poste no que lhe parecer mais próximo e, se não for, um moderador da área moverá.

 

Carlos Eduardo

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.