← PHP

[resolvido] problema com um form

Lida 4059 vezes

Offline

ragnarock 
Membro
Mensagens 208 Gostos 1
Feedback +1

Troféus totais: 27
Trófeus: (Ver todos)
Tenth year Anniversary Nineth year Anniversary Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2

Boas, estou a tentar ajudar uma miuda a fazer um projecto em php/html

e tenho um problema com o editar dos dados de um cliente do site.
Como faço para a "action" do form execute o que está dentro do if(isset($_POST['editar']))

isto faz sentido?

cumps

Código: [Seleccione]
<?php if(isset($_SESSION['id_cliente'])) { ?>

<h1>Dados pessoais</h1>
<br /><br />
<?php

//DADOS DA CONTA
$result=mysql_query("SELECT * FROM cliente WHERE id_cliente=".$_SESSION['id_cliente']);
$row=mysql_fetch_object($result);
$nome=$row->nome;
$apelido=$row->apelido;
$email=$row->email;
$data_nascimento $row -> data_nascimento;
$sexo $row -> sexo;

mysql_free_result($result);

if(isset($_POST['editar'])){

if ($_POST['email'] != $email){
//verificar se email existe
$sql mysql_query("select * from cliente where email = '".$_POST['email']."'");

if (mysql_num_rows($sql) > ){

echo "Esse email já se encontra em uso.";

}}else{
echo "Cliente :".$_SESSION['id_cliente']." actualizado com o email: .".$_POST['email'];
$update mysql_query("update cliente set email = '".$_POST['email']."' where id_cliente = '".$_SESSION['id_cliente']."' ");

if (!$update){

echo "Não foi possivel alterar os seus dados, contacte o administrador da página.";

}else{

echo "Dados alterados com sucesso!";

}
}


}
?>

<form method='post' action=''>
<p>
<label for='nome'>Nome Completo:</label>
<input type='text' disabled='disabeld' name='nome' id='nome' value='<?php echo $nome." ".$apelido ?>' required/>
</p>
<p>
<label for="demo1"><span class="red">*</span>Data de nascimento:</label>
<input type='text' disabled='disabeld' name='data_nascimento' id='data_nascimento' value='<?php echo $data_nascimento ?>' required/>
</p>

<p>
<label for='nome'>Sexo:</label>
<input type='text' disabled='disabeld' name='sexo' id='sexo' value='<?php echo $sexo ?>' required/>
</p>

<p>
<label for='email'>E-Mail:</label>
<input name='email' id='email' type='email' value='<?php echo $email ?>' required />
</p>

<p>
<input type='submit'  name="editar" value='editar' />
</p>
</form>


<?php return;}//fim da pagina ?>
<h1> Desculpe!</h1>
<p>Esta área é restrita a administradores. </p>
<meta http-equiv='refresh' content='1; url=index.php?p=home'>
<br>
<br>
Offline

Bruno Gaspar 
Membro
Mensagens 242 Gostos 1
Feedback +3

Troféus totais: 18
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 3 Level 2 Level 1 100 Posts 50 Posts 10 Posts

Ao clicares no butao submit ele não entra na condição if?
Offline

ragnarock 
Membro
Mensagens 208 Gostos 1
Feedback +1

Troféus totais: 27
Trófeus: (Ver todos)
Tenth year Anniversary Nineth year Anniversary Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2

aparentemente não... pelo menos não vejo nehum "echo" pa pagina depois
Offline

Bruno Gaspar 
Membro
Mensagens 242 Gostos 1
Feedback +3

Troféus totais: 18
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 3 Level 2 Level 1 100 Posts 50 Posts 10 Posts

Nao sera por causa do if ($_POST['email'] != $email){ ?
Offline

Tiago Carneiro 
Membro
Mensagens 38 Gostos 0
Feedback -1

Troféus totais: 19
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 4 Level 3 Level 2 Level 1 10 Posts First Post Signature

Eu não estive com muita atenção ao código, mas uma maneira fácil de tu descobrires é fazeres echo dos valores $_POST e dos valores que vais buscar à base de dados. Assim já vez que valores e que estão a falhar e em eu if ou else é que devia entrar e não entra ;)
Offline

ragnarock 
Membro
Mensagens 208 Gostos 1
Feedback +1

Troféus totais: 27
Trófeus: (Ver todos)
Tenth year Anniversary Nineth year Anniversary Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2

pois, era como diziam, afinal o problema não estava na action mas sim nos if's

 :obrigado: