if (isset($_POST) Do something, if not another

Asked

Viewed 2,923 times

0

I’m here with a little problem that shouldn’t be a big deal... I have a form where I have two radio Buttons, and depending on the selection of one of them, the query will be different. If the value of my radio button = 1 it inserts in the table offers_pro, if it does not insert in another table.

My code is like this:

if (isset($_POST['visib'])){ 
if ($_POST['visib'] == '0'){  

//PRIMEIRA CONSULTA
$sql = "INSERT INTO ofertas (titulo, descricao, valor, user_of, categ, prioridade, local)
VALUES ('$titulo', '$descricao', '$valor', '$login_session','$categ','$pro_user','$local')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}


$diferenca=$saldo-$pro_user;
$up = mysql_query("UPDATE login SET saldo='$diferenca' WHERE id=$id");

if(mysql_affected_rows() > 0){
echo "Sucesso: Atualizado corretamente!";
}else{
echo "Aviso: Não foi atualizado!";
}
} 


//SEGUNDA CONSULTA

$sql = "INSERT INTO ofertas_pro (titulo, descricao, valor, user_of, categ,     local)
VALUES ('$titulo', '$descricao', '$valor', '$login_session','$categ','$local')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}


$diferenca=$saldo-$pro_user;
$up = mysql_query("UPDATE login SET saldo='$diferenca' WHERE id=$id");

if(mysql_affected_rows() > 0){
echo "Sucesso: Atualizado corretamente!";
}else{
echo "Aviso: Não foi atualizado!";
}
} 

The way this, when Radio btn = 1 it inserts into a single table, all right... when it is =0 it inserts into the two tables... How can I fix this?

  • Solved. It was no big deal, really. Hug

  • To change a post click on the button editar just below your post, you don’t need to create an answer to make corrections.

2 answers

1


By default HTML passes the value of a radio button as on or null (vazio)

First you should check which of the two has been selected;

$radio1 = $_POST['nomeDoRadioButton-1'];
$radio2 = $_POST['nomeDoRadioButton-2'];

if (isset($radio1) && $radio1 != null) { // Verifica se o foi selecionado e não é nulo
// Faça alguma coisa
}
else if (isset($radio2) && $radio2 != null) { // Verifica se o foi selecionado e não é nulo
// Faça outra coisa
}

// Ou você pode passar valor númerico para simplificar
if ($radio1 == 'on'):
$radio1 = 1;
else: 
$radio2 = 1;
endif;
  • Certo @Rafael Acioly Thank you for your reply!

0

if ($_POST['visib'] == '1'){ //<---- Acrescentei o que faltava 
$sql2 = "INSERT INTO ofertas_pro (titulo, descricao, valor, user_of, categ,     local)
VALUES ('$titulo', '$descricao', '$valor', '$login_session','$categ','$local')";

if ($conn->query($sql2) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql2 . "<br>" . $conn->error;
}


$diferenca=$saldo-$pro_user;
$up = mysql_query("UPDATE login SET saldo='$diferenca' WHERE id=$id");

if(mysql_affected_rows() > 0){
echo "Sucesso: Atualizado corretamente!";
}else{
echo "Aviso: Não foi atualizado!";
}
} 
}//<---- Fechei o que faltava 

Browser other questions tagged

You are not signed in. Login or sign up in order to post.