Ir para conteúdo

POWERED BY:

Arquivado

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

elizacoelho

[Resolvido] Formulário em PHP

Recommended Posts

Boa tarde,

Preciso criar um formulário onde o usuário ao se logar no sistema em php consiga visualizar os campos já preenchidos (vinculados ao banco MySQL) e apenas alguns campos poderão ser alterados por ele, esta alteração deve ser enviada por e-mail a uma pessoa que irá validar estes dados alterados. Em um tópico anterior neste mesmo fórum um usuário recomendou inserir um echo no campo value da text, mas este comando é para exibir msg e não é isto que eu quero, preciso por exemplo que no campo matrícula deste formulário seja exibida a matricula do respectivo usuário que se logou no sistema e que esteja cadastrada no banco(este campo por exemplo não deve ser alterado pelo usuário).

Estou abrindo este novo, pois o outro foi fechado.

Desde já agradeço para quem puder me ajudar.

http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm, você pode criar uma variável para pegar o id ou login do usuário e inserir no where:

 

SELECT * FROM tabela WHERE usuario='$usuario'

Depois disso, é só criar outra variável para imprimir tal campo (ex.: nº de matrícula):

 

$sql = mysql_query("SELECT * FROM tabela WHERE usuario='$usuario'");
while ($data = mysql_fetch_array($sql)){
$matricula = $data['n_matricula'];
echo "<input type=\"text\" name=\"n_matricula\" value=\"$matricula\" disabled=\"disabled\" />";}

O código disabled="disabled" impede que o campo seja editado :D

 

Tenta ae... flw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato.

Quando você faz o While Fetch Array, você coloca todos os campos da sua consulta em um Array.

Dae você somente coloca cada um no seu respectivo campo. No value. Assim como o exemplo do Eliseu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o código então deve ficar assim?

 

<tr><td colspan="6">Matrícula:

<input name="matricula" type="text" id="matricula" size="20" maxlength="60" disabled value="<? $sql = mysql_query("SELECT * FROM login WHERE usuario='$usuario'");

while ($data = mysql_fetch_array($sql)){

$matricula = $data['n_matricula'];

echo "<input type=\"text\" name=\"n_matricula\" value=\"$matricula\"/>";}?>"/>

</td></tr>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naao

 

A consulta deve ser como no exemplo do Eliseu:

 

$sql = mysql_query("SELECT * FROM tabela WHERE usuario='$usuario'"); // A CONSULTA

while ($data = mysql_fetch_array($sql)){
        $matricula = $data['n_matricula']; OS DADOS, NESSE CASO A MATRICULA
        echo "<input type=\"text\" name=\"n_matricula\" value=\"$matricula\" disabled=\"disabled\" />"; // E AQUI NO VALUE DO INPUT O RESULTADO $matricula, que ta na linha de cima.
}

O resultado da consulta que você coloca no Value e nao a instrução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, eu tinha entendido o código, mas não sabia onde por dentro do meu formulário.

Tem mais duas coisas que estão dando conflito. Desculpe, mas eu sou nova em programação e nunca tinha trabalahado com páginas em php vinculadas ao banco.

1º)Estou trabalhando com radio button para exibir o sexo do aluno, mas ele não pode alterar este campo como pode ser visto no código abaixo:

"<tr><td colspan="6">Sexo:

<input name="sexo" type="radio" value="Masculino" disabled="disabled"/>Masculino

<input name="sexo" type="radio" value="Feminino" disabled="disabled"/>Feminino

</td></tr>"

 

2º) Estou trabalhando também com uma list/menu para exibir a situação (se é divorciado, solteiro etc)este campo poderá alterar como pode ser visto no código:

"<tr><td width="298">Situação: <select name="situacao" id="situacao">

<option>Selecione...</option>

<option value="Solteiro">Solteiro</option>

<option value="Casado">Casado</option>

<option value="Viúvo">Viúvo</option>

<option value="Divorciado">Divorciado</option>

</select><span class="OBS">*</span>

</td><tr>"

 

Eu não sei como vincular o valores do banco mysql com estes tipos de ojetos.

Muuuuuito obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No sexo você tem que fazer a verificação

quando você faz a consulta você tem o que está no banco, "Masculino" ou "Feminino" certo ?

Dae você pergunta:

 

if($data['sexo'] = "Masculino")
{
   echo "<input type='radio' checked='checked' value='Masculino' disabled='disabled' name='sexo'>Masculino
         <input type='radio' value='Feminino' disabled='disabled' name='sexo'>Feminino";
}
// você USA O CHECKED PARA MARCAR
else
{
   echo "<input type='radio' value='Masculino' disabled='disabled' name='sexo'>Masculino
         <input type='radio' checked='checked' value='Feminino' disabled='disabled' name='sexo'>Feminino";
}

E no List assim, mesma coisa, você verifica qual ta marcado, e marca, senão desmarca!

 

<select name='situacao'>
<?php
if($data['situacao'] == 'Solteiro')
{
   echo "<option value='Solteiro' selected='selected'>";
}
else
{
   echo "<option value='Solteiro'>";
}
// E FAZ ISSO COM TODOS OS CAMPOS DO LIST MENU. SE VERDADEIRO, você COLOCA O SELECTED, SENAO NAO COLOCA
?>

</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok digitei o seguinte código para lincar os campos como banco (exemplo de uma parte):

<tr><td height="42" colspan="6" class="Subtitulo"><hr>Dados</td>

<tr><td colspan="6"></td></tr>

<tr><td colspan="6">Matrícula:

<? $sql = mysql_query("SELECT * FROM login WHERE usuario='$usuario'");

while ($data = mysql_fetch_array($sql)){

$matricula = $data['matricula'];

echo "<input type='text' name='matricula' value='$matricula'disabled='disabled'/>";}?></td></tr>

<tr><td width="298"></td></tr>

<tr><td colspan="6">Nome:

<? $sql = mysql_query("SELECT * FROM login WHERE usuario='$usuario'");

while ($data = mysql_fetch_array($sql)){

$nome = $data['n_nome'];

echo "<input type=\"text\" name=\"n_nome\" value=\"$nome\" disabled=\"disabled\" />";}?></td></tr>

 

Exibiu o seguinte erro:

 

 

Dados

Matrícula:

Notice: Undefined variable: usuario in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 226

 

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 226

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 226

 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 227

Nome:

Notice: Undefined variable: usuario in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 233

 

Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 233

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\Jornal_Beth\Contato_Aluno.php on line 233

 

Alguém poderia me ajudar?

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, neste código que coloquei acima, eu susbstitui a text por um comando em php.

O que eu preciso é que meu formulário exiba as informações que estão no banco mysql, se não der para explicar seria possível enviar um código ou recomendar uma página que explique ou possua isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi gente,

Eu queria agradecer a todos que tentaram me ajudar, finalmente consegui fazer.

Para aqueles que estão com o mesmo problema, recomendo ler a parte de tutoriais neste fórum e tmb o site da becck.com (possui vídeo aulas).

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.