Foros del Web » Programando para Internet » PHP »

Comparar arrays en formulario

Estas en el tema de Comparar arrays en formulario en el foro de PHP en Foros del Web. Hola! ¿Cómo están? "ESPERO QUE BIEN". Me podrían ayudar? quiero hacer esto: [URL=http://www.subirimagenes.net/i/130917112608694174.jpg][IMG]http://sia1.subirimagenes.net/img/2013/09/17//130917112608694174.jpg[/IMG][/URL] Es un formulario que compara arrays con 4 casillas cada uno algo ...
  #1 (permalink)  
Antiguo 18/09/2013, 15:19
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Comparar arrays en formulario

Hola! ¿Cómo están? "ESPERO QUE BIEN". Me podrían ayudar?

quiero hacer esto:

[URL=http://www.subirimagenes.net/i/130917112608694174.jpg][IMG]http://sia1.subirimagenes.net/img/2013/09/17//130917112608694174.jpg[/IMG][/URL]



Es un formulario que compara arrays con 4 casillas cada uno algo así:

array1 = - - - -
array2 = - - - -

Y que me imprima SON IGUALES" y si no lo son "NO SON IGUALES", para comprobarlo. espero me puedan ayudar. Gracias. Saludos.



Gracias.Saludos!
  #2 (permalink)  
Antiguo 18/09/2013, 15:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar arrays en formulario

¿y cual es la duda en si? con un ciclo y un par de ifs lo puedes hacer... si no sabes como leer datos de entrada puedes ver esto: http://www.php.net/variables.external

Saludos.
  #3 (permalink)  
Antiguo 18/09/2013, 15:37
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Cita:
Iniciado por GatorV Ver Mensaje
¿y cual es la duda en si? con un ciclo y un par de ifs lo puedes hacer... si no sabes como leer datos de entrada puedes ver esto: [url]http://www.php.net/variables.external[/url]

Saludos.
Hola! Lo que pasa que no entiendo desde la misma pagina de php se me hace dificil, crees que me podrías ayudar dejandome los códigos aqui porfa. Saludos coordiales

Última edición por roberto_16_1989; 18/09/2013 a las 15:43
  #4 (permalink)  
Antiguo 18/09/2013, 16:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar arrays en formulario

¿cuanto es lo que ofreces en $$$?

Digo la pagina es muy clara como rescatar valores desde formularios, con eso tienes lo que necesitas, y saber hacer ciclos y comparar y listo.
  #5 (permalink)  
Antiguo 18/09/2013, 16:28
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Solo busco aprender un poco de php con este ejercicio no creo que se considere una página por poner unas cuantas lineas de código , vamos si puedes compartir o ayudar compártela de eso se trata un foro
  #6 (permalink)  
Antiguo 18/09/2013, 16:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar arrays en formulario

Pues no, se trata de ayudar, y si realmente quieres aprender, ve el Manual, para eso está, la pagina que te pase te indica claramente que necesitas para recibir valores en PHP, es más si tanto deseas aprender, te dejo ejemplos:

#1 Rescatar valores:
HTML:
Código HTML:
Ver original
  1. <form method="post" action="pagina.php">
  2.       <input type="text" name="foo">
  3.       <input type="submit" name="submit" value="Enviar">
  4. </form>

pagina.php
Código PHP:
Ver original
  1. <?php
  2. $foo = $_POST['foo'];
  3. echo "foo tiene: {$foo}";

Para comparar dos variables:
Código PHP:
Ver original
  1. <?php
  2. $var1 = "foo";
  3. $var2 = "bar";
  4.  
  5. if ($var1 == $var2) {
  6.        echo "Son iguales";
  7. }  else {
  8.        echo "NO son iguales";
  9. }

Para hacer un ciclo:
Código PHP:
Ver original
  1. <?php
  2. $valores = array(1, 2, 3, 4, 5);
  3.  
  4. foreach ($valores as $valor) {
  5.        echo "Valor es: {$valor}";
  6. }

Con estas tres cosas puedes hacer el ejercicio que propones, es cuestión de que analices y los estudies, empieza haciendo el pseudocódigo y adelante si tienes más dudas te podemos ayudar, más no hacerte el script ya que lo que deseas es aprender.

Saludos.
  #7 (permalink)  
Antiguo 18/09/2013, 16:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Comparar arrays en formulario

Cita:
Iniciado por roberto_16_1989 Ver Mensaje
Solo busco aprender un poco de php con este ejercicio no creo que se considere una página por poner unas cuantas lineas de código , vamos si puedes compartir o ayudar compártela de eso se trata un foro
Una cosa es ayudar con un problema especifico, y otra muy diferente hacer el trabajo de los demás.

No te ofendas pero si dices "crees que me podrías ayudar dejandome los códigos aqui porfa" estás claramente indicando que quieres que alguien más resuelva tu problema y te brinde el código, sean razones didácticas o no, eso es trabajo, esfuerzo y tiempo.

¿Estás dispuesto a aprender o esperas que alguien más escriba el código para ti?

Primero entiende esa diferencia y luego vemos si te ayudamos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 18/09/2013, 17:10
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

TENGO ESTO:

<form action="" method="post">
<label>ARRAY1:</label><input type="text"name="array1"><input type="text"name="array1"><input type="text"name="array1"><input type="text"name="array1"><br>
<label>ARRA2:</label><input type="text" name="arra2"><input type="text" name="arra2"><input type="text" name="arra2"><input type="text" name="arra2"><br>
<input type="submit" value="COMPROBAR" name="enviar">
</form>
<?php
error_reporting(0);

?>


SE VE ALGO ASÍ:




SOLO HASTA AQUI ME GUIO PORFA ME PODRIAS DECIR COMO PRODRIA VINCULARLO
  #9 (permalink)  
Antiguo 18/09/2013, 17:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar arrays en formulario

Lee la pagina que te envié: http://www.php.net/variables.external ve el ejemplo que te dejé.

Te adelanto que cada input debe de tener un nombre único, tú estas repitiendo el mismo nombre. Usa el ejemplo que te deje más arriba (tanto el HTML como el PHP) y estudialos.

Saludos.
  #10 (permalink)  
Antiguo 18/09/2013, 17:41
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Solo para probarlo con un solo input me podrías decir como voy llendo:

<form method="post" action="">
<label>array1</label><input type="text" name="foo"><br>
<label>array2</label><input type="text" name="bar"><br>
<input type="submit" name="submit" value="COMPARAR"><br>
</form>
<?php
error_reporting(0);

$var1 = "foo";
$var2 = "bar";

$foo = $_POST['foo'];
echo "{$foo}";

$bar = $_POST['bar'];
echo ": {$bar}";

$valores = array(1, 2, 3, 4, 5);
foreach ($valores as $valor) {
echo "Valor es: {$valor}";
}

if ($var1 == $var2) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}
?>

que debo cambiar o modificar. gracias
  #11 (permalink)  
Antiguo 18/09/2013, 18:13
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Ya me salio uno solo :D

<form method="post" action="">
<label>array1</label><input type="text" name="foo"><br>
<label>array2</label><input type="text" name="bar"><br>
<input type="submit" name="submit" value="COMPARAR"><br>
</form>
<?php
error_reporting(0);

$var1 = (isset($_POST['bar'])?$_POST['bar']:"0");
$var2 = (isset($_POST['foo'])?$_POST['foo']:"0");

if ($var1 == $var2) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}

?>


CUANDO QUIERO APLICAR A LAS DEMAS CASILLAS TENGO PROBLEMAS CON EL IF PARA PONER MULTIPLES DATOS PENSABA QUE SE PODIA SEPARAR POR ";" PERO NOSE PUEDE COMO PODRIA PONERLO TODO EN UN SOLO IF Y ELSE

LO TENGO ASI AHORA:

<form method="post" action="">
<label>array1</label><input type="text" name="foo"><input type="text" name="foo1"><input type="text" name="foo2"><input type="text" name="foo3"><br>
<label>array2</label><input type="text" name="bar"><input type="text" name="bar1"><input type="text" name="bar2"><input type="text" name="bar3"><br>
<input type="submit" name="submit" value="COMPARAR"><br>
</form>
<?php
error_reporting(0);

$var1 = (isset($_POST['bar'])?$_POST['bar']:"0");
$var2 = (isset($_POST['foo'])?$_POST['foo']:"0");
$var3 = (isset($_POST['bar1'])?$_POST['bar1']:"0");
$var4 = (isset($_POST['foo1'])?$_POST['foo1']:"0");
$var5 = (isset($_POST['bar2'])?$_POST['bar2']:"0");
$var6 = (isset($_POST['foo2'])?$_POST['foo2']:"0");
$var7 = (isset($_POST['bar3'])?$_POST['bar3']:"0");
$var8 = (isset($_POST['foo3'])?$_POST['foo3']:"0");

if ($var1 == $var2) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}
if ($var3 == $var4) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}
if ($var5 == $var6) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}
if ($var7 == $var8) {
echo "SI son iguales";
} else {
echo "NO son iguales";
}

?>
  #12 (permalink)  
Antiguo 18/09/2013, 23:26
Avatar de JhonErick  
Fecha de Ingreso: noviembre-2012
Ubicación: colombia
Mensajes: 38
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Comparar arrays en formulario

con los if debe funcionar pero es horrible.
Aqui lo tienes un solo if else. Esto es lo que mas o menos necesitas

Código PHP:
Ver original
  1. for($i=1; $i<=4 "cantidad de inputs"; $i++){
  2.    if ($_POST['bar'.$i] == $_POST['bar'.$i]) {
  3.         echo "SI son iguales <br/>";
  4.     }
  5.    else{
  6.           echo "NO son iguales <br/>";
  7.     }
  8. }
  #13 (permalink)  
Antiguo 19/09/2013, 11:23
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Hola gracias por tu aporte agrege los if y el else, pero nose si los estoy aplicando recuerdo bien me podrías orientar si esta correcto, por que me sale error

se ve así:









Tambien lo eh hecho así pero me sale todo Si son iguales apesar de no darle ingresar caracteres se ve asi :


Última edición por roberto_16_1989; 19/09/2013 a las 11:54
  #14 (permalink)  
Antiguo 19/09/2013, 12:19
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Creo que ya casi lo tengo: como podría ahora botar una alerta para que se ingresen todos los casilleros, mis códigos están así ahora:

<form method="post" action="">
<label>array1</label><input type="text" name="foo1"><input type="text" name="foo2"><input type="text" name="foo3"><input type="text" name="foo4"><br>
<label>array2</label><input type="text" name="bar1"><input type="text" name="bar2"><input type="text" name="bar3"><input type="text" name="bar4"><br>
<input type="submit" name="submit" value="COMPARAR"><br>
</form>
<?php
error_reporting(0);

$var1 = (isset($_POST['bar1'])?$_POST['bar1']:"0");
$var2 = (isset($_POST['foo1'])?$_POST['foo1']:"0");
$var3 = (isset($_POST['bar2'])?$_POST['bar2']:"0");
$var4 = (isset($_POST['foo2'])?$_POST['foo2']:"0");
$var5 = (isset($_POST['bar3'])?$_POST['bar3']:"0");
$var6 = (isset($_POST['foo3'])?$_POST['foo3']:"0");
$var7 = (isset($_POST['bar4'])?$_POST['bar4']:"0");
$var8 = (isset($_POST['foo4'])?$_POST['foo4']:"0");

$iguales=true;

for($i=1;$i<=4;$i++)
{
if($_POST{"bar".$i}!=$_POST{"foo".$i})
{
$iguales=false;
break;
}
}
if($iguales)
{
echo "SI son iguales";
}else{
echo "NO son iguales";
}



PD: Si se puede quitar el son iguales por defecto porque creo sale y poner en vez de eso llene los datos o todos los datos algo así. Gracias
  #15 (permalink)  
Antiguo 19/09/2013, 12:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar arrays en formulario

Usa empty() para verificar eso, o desde Javascript lo puedes hacer, pero si buscas soluciones puedes usar empty() sin problemas, ejemplo:
Código PHP:
Ver original
  1. if (empty($somevar)) {
  2.       echo "debes de llenar $somevar";
  3. }
  #16 (permalink)  
Antiguo 19/09/2013, 13:16
roberto_16_1989
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar arrays en formulario

Pero para quitar el Si son iguales que toma por defecto por que no hay datos y los toma así creo, solo quiero quitar eso lo demás que se mantenga. Gracias.
  #17 (permalink)  
Antiguo 19/09/2013, 13:39
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
De acuerdo Respuesta: Comparar arrays en formulario

Te estas complicando con algo muy simple.
Si lo que quieres es comparar arrays, con == o con === tienes suficiente.
Mira un ejemplo
Código PHP:
<?php
 
$a 
= array('a','b','c','d');
$b = array('a','b','c','d');
$c = array('b','a','c','d');

echo 
'el array a y el b son iguales?';
if(
$a === $b) echo ' si<br />';
else echo 
' no<br />';
echo 
'el array a y el c son iguales?';
if(
$a === $c) echo ' si<br />';
else echo 
' no<br />';
?>
esto te dara un resultado como este.

el array a y el b son iguales? si
el array a y el c son iguales? no


Solo tienes que guardar los datos obtenidos del formulario en su array correspondiente.

Etiquetas: arrays, formulario
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 00:29.