If en un formulario

Iniciado por viher, 19 Agosto 2010, 03:08 AM

0 Miembros y 1 Visitante están viendo este tema.

viher

hola,pues tengo el siguiente formulario:

<form id="form1" name="buscador" method="post" action="buscador.php">
  <label for="textfield"></label><br>
  <input type="text" name="palabra" id="textfield" />
  <input type="submit" name="button" id="button" value="Buscar" />
  <br><input name="radio" type="radio" id="radio" value="radio" checked="checked" />
  Películas
  <input type="radio" name="radio2" id="radio2" value="radio2" />
  <label for="radio2"></label>
  Revistas
  <label for="radio"></label>
  </form>


el caso es que queria ver si es posible con un if o algo hacer que si se pulsa la opción de "radio" la action del form vaya a buscador.php y si la opcion "radio2" es seleccionada la action del form vaya a otro archivo php como por ejemplo buscador.php

es esto posible y como se podria hacer?

gracias esque estoy empezando en php

Dznp

#1
Si, se puede.
Bué, en realidad con lo que vos estas usando no podrías, ya que podes seleccionar 2 a la ves, podes usar un select
Código (html4strict) [Seleccionar]

<select name="nombre" size="1" >

<option value="radio">Revistas</option>

<option value="radio2" selected>Peliculas</option>




y un php más o menos así.
Código (php) [Seleccionar]
<?php
$var
=$_POST[nombre];
if(
$var=='radio'){
echo 
'acción 1';
} else {
echo 
'Acción 2';
}
?>





Espero que te sirva!

viher

asi lo personalicé,pero cuando el doy al boton del formulario para buscar me lleva al archivo "2.php" con las 2 opciones,aunque las cambie no me lleva a buscador.php

Código (php) [Seleccionar]
<form id="form1" name="buscador" method="post" action="<?php
$var
=$_POST[nombre];
if(
$var=='RadioGroup1'){
echo 
'buscador.php';
} else {
echo 
'2.php';
}
?>
">
 <label for="textfield"></label><br>
 <input type="text" name="palabra" id="textfield" />
 <input type="submit" name="button" id="button" value="Buscar" /><br>
   <label>
     <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" />
     Películas</label>
   <label>
     <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" />
     Revistas</label>
 <label for="radio"></label>
 <label for="radio2"></label>
     </form>

Dznp

No no, eso esta mal!

El codigo que yo te di en php tendría que ir en buscador.php, ese archivo recibe las variables.

Shell Root

#4
Así?
Código (html4strict) [Seleccionar]
<form action='index.php' method='post'>
   <input type="text" name="txtWord" />
   <input type="submit" name="btnSearch" value="Search..." /><br>
   <label>
      <input type="radio" value="Movie" id="rType" name="rType" checked="checked" />Movie
   </label>
   <label>
      <input type="radio" value="Magazines" id="rType" name="rType" />Magazines
   </label>
</form>


Código (php) [Seleccionar]
<?php
   $stxtWord 
$_POST['txtWord'];
   
$srType $_POST['rType'];
   if(
$srType == 'Movie'){
      echo 
'The name movie is: '.$stxtWord;
   }else{
      echo 
'The name magazine is: '.$stxtWord;
   }
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

viher

#5
formulario:

Código (php) [Seleccionar]
<form id="form1" name="buscador" method="post" action="buscador.php">
 <label for="textfield"></label><br>
 <input type="text" name="palabra" id="textfield" />
 <input type="submit" name="button" id="button" value="Buscar" /><br>
   <label>
     <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" />
     Películas</label>
   <label>
     <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" />
     Revistas</label>
 <label for="radio"></label>
 <label for="radio2"></label>
     </form>


buscador.php

Código (php) [Seleccionar]
<?php 
 
$link 
= @mysql_connect("localhost""root""pass"); 
mysql_select_db("db"$link); 
 
// maximo por pagina 
$limit 25
 
// pagina pedida 
$pag = (int) $_GET["pag"]; 
if (
$pag 1

   
$pag 1

$offset = ($pag-1) * $limit
 
$var=$_POST[palabra];
if(
$var=='RadioGroup1'){
$sql "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM peliculas WHERE nombre like '%$buscar%' order by id desc LIMIT $offset$limit"
} else {
$sql "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM revistas WHERE nombre like '%$buscar%' order by id desc LIMIT $offset$limit"

$sqlTotal "SELECT FOUND_ROWS() as total"
 
$rs mysql_query($sql); 
$rsTotal mysql_query($sqlTotal); 
 
$rowTotal mysql_fetch_assoc($rsTotal); 
// Total de registros sin limit 
$total $rowTotal["total"]; 
?>


pues eso es lo que hice,lo que pasa es que seleccione la opción Revistas o Películas me saca la consulta de la tabla revistas.¿Porque?¿Qué estoy haciendo mal? Gracias

cassiani

Aquí:
$var=$_POST[palabra];

debe llevar comillas:
$var=$_POST['palabra'];


Shell Root

Mirad lo siguiente:
Código (html4strict) [Seleccionar]
<form id="form1"
     name="buscador"
     method="post"
     action="buscador.php">

  <label for="textfield"></label>
  <br>
  <input type="text" name="palabra" id="textfield" />
  <input type="submit" name="button" id="button" value="Buscar" />
  <br>
  <label>
     <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" />Películas
  </label>
  <label>
     <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" />Revistas
  </label>
  <label for="radio"></label>
  <label for="radio2"></label>
</form>


Código (php,15) [Seleccionar]
<?php
   $link 
= @mysql_connect("localhost""root""pass"); 
   
mysql_select_db("db"$link); 
 
   
$limit 25
   
$pag = (int) $_GET["pag"];
 
   if(
$pag 1){ 
      
$pag 1;
   } 
   
$offset = ($pag-1) * $limit
 
   
$var $_POST['palabra'];
 
   
$srType $_POST['RadioGroup1']; # Aquí el valor del radio seleccionado
 
   if(
$srType == 'pelicula'){
      
$sql "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM peliculas WHERE nombre like '%".$buscar."%' order by id desc LIMIT ".$offset.", ".$limit;
   }else if(
$srType == 'revistas'){
      
$sql "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM revistas WHERE nombre like '%".$buscar."%' order by id desc LIMIT ".$offset.", ".$limit;
   }else{
      
$sql "SELECT -1 As 'ERROR'";
   }
   
$sqlTotal "SELECT FOUND_ROWS() as total"
 
   
$rs mysql_query($sql); 
   
$rsTotal mysql_query($sqlTotal); 
 
   
$rowTotal mysql_fetch_assoc($rsTotal); 
   
$total $rowTotal["total"];
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

cassiani

en efecto, capturabas el valor del text y no el de los radio butoms.