Foros del Web » Programando para Internet » PHP »

Verificar que tengan diferentes valores

Estas en el tema de Verificar que tengan diferentes valores en el foro de PHP en Foros del Web. Tengo els iguiente fomrulario Código HTML: <form action= "jugar2.php" method= "post" name= "form1" target= "ji" id= "form1" > <table width= "116" border= "1" align= "center" ...
  #1 (permalink)  
Antiguo 02/03/2009, 12:42
 
Fecha de Ingreso: julio-2006
Mensajes: 254
Antigüedad: 17 años, 10 meses
Puntos: 0
Verificar que tengan diferentes valores

Tengo els iguiente fomrulario
Código HTML:
<form action="jugar2.php" method="post" name="form1" target="ji" id="form1">
  <table width="116" border="1" align="center" class="Estilo2">
    <tr>
      <td width="54">Noonimal</td>
      <td width="130">Posicion</td>
    </tr>
    <tr>
      <td>1</td>
      <td><label>
        <select name="1" id="1">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
        </select>
      </label></td>
    </tr>
    <tr>
      <td>2</td>
      <td><select name="2" id="2">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>3</td>
      <td><select name="3" id="3">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>4</td>
      <td><select name="4" id="4">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>5</td>
      <td><select name="5" id="5">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>6</td>
      <td><select name="6" id="6">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>7</td>
      <td><select name="7" id="7">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
    <tr>
      <td>      8</td>
      <td><select name="8" id="8">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select></td>
    </tr>
  </table>
  <br />
  <label>
    <input type="submit" name="button" id="button" value="¡ME ARRIESGO!" />
  </label>
</form> 
Como podria hacer para verificar en PHP que el campo uno,no sea igual al 2,3,4,5,6,7,8 , que el dos no sea igual al 1,3,4,5,6,7,8 , etc, etc ,etc-
Gracias
  #2 (permalink)  
Antiguo 02/03/2009, 13:12
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Verificar que tengan diferentes valores

en php tendrias que enviar el formulario a un script.php y si los datos no son validos tendria que volver al form. Es por eso que debes usar javascript, este lenguaje lo valida antes de enviar los datos.
  #3 (permalink)  
Antiguo 02/03/2009, 13:15
 
Fecha de Ingreso: enero-2008
Mensajes: 52
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Verificar que tengan diferentes valores

Nunca confies en que los datos lleguen correctamente por validarlos con javascript, basicamente se desactiva del navegador y ya no valida, por otra parte en un select nunca confies en que los valores que te envian seran siempre los que hay dentro, ya que es bastante facil modificarlo.

Todas las comprobaciones debes hacerlas siempre desde php, si ademas quieres hacerlo desde javascript está bien pero no confies en ella.

Desde jugar2.php tendras que comprobar $_POST[1], $_POST[2] ... para validar los select

Código PHP:
$error false;
$n = ...;
for (
$i 1$i<$n$i++){
  if (!isset(
$_POST[$i]) || !is_numeric($_POST[$i]) || $_POST[$i] < || $_POST[$i] > 8) {
    
$error true;
  }
}

if (
$error) .... 
  #4 (permalink)  
Antiguo 02/03/2009, 13:32
 
Fecha de Ingreso: julio-2006
Mensajes: 254
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Verificar que tengan diferentes valores

Bien, pero no entendi nada xdd
Dejemos el javascript de lado..
No entendi eso..
Me lo explicas?
  #5 (permalink)  
Antiguo 02/03/2009, 13:44
 
Fecha de Ingreso: enero-2008
Mensajes: 52
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Verificar que tengan diferentes valores

Perdón entendí mal el mensaje.

Código PHP:
$n = ...;
for (
$i 0$i<$n$i++)
    
$valid_array[$i] = false;
$i 1;
$error false
while ($i<$n && !$error){
  if (
$valid_array[$i]) $error true;
  else 
$valid_array[$i] = true;
  
$i++;
}

if (
$error) .... 
[/PHP]

Creamos un array(valid_array) y lo inicializamos a false, luego por cada select miramos la posicion correspondiente del array, si esta a false la ponemos a true, si esta a true significa que otro la ha puesto antes por lo tanto es un valor repetido por lo tanto error=true.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:51.