Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Enviar datos formulario a un array[]

Estas en el tema de Enviar datos formulario a un array[] en el foro de PHP en Foros del Web. Hola, ¿como puedo enviar los datos de un formulario que inserte el usuario a un array y que cada palabra me la separe en una ...
  #1 (permalink)  
Antiguo 17/04/2013, 16:28
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Enviar datos formulario a un array[]

Hola, ¿como puedo enviar los datos de un formulario que inserte el usuario a un array y que cada palabra me la separe en una posición diferente? ej;

"hola que tal estas"

$var1 = ("hola","que ","tal ","estas ");

sk kiero compara un array con otro array que ya tengo definido, para ver si las palabras que mete el usuario son las mismas que tengo y si alguna es diferente que muestre la diferente. esto si se hacerlo pero lo otro no. todo esto es para un buscador.

un saludo y gracias :)
  #2 (permalink)  
Antiguo 17/04/2013, 16:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Enviar datos formulario a un array[]

Si entendí bien, solo necesitas usar explode.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 17/04/2013, 16:43
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

he estado mirando explode pero no termino de ver como desde el formulario lo mete en la variable.
  #4 (permalink)  
Antiguo 17/04/2013, 16:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar datos formulario a un array[]

Pues primero deberías aprender a transmitir y recoger variables desde un formulario, ¿no te parece?

Ninguna funcion es magica, tu eres el que las debe usar para obtener determinados resultados.

Consulta el siguiente manual:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/04/2013, 17:32
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

ya tengo pasar de un formulario a un array :


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form action="MyScript.php" method="post">
<input type="text" name="valores[]"> <br>
<input type="submit">
</form>
</body>
</html>


y recibo la cadena asi en la pagina MyScript.php

<?php
// Obtenemos la variable del formulario:


$valor = $_POST['valores'];
$result = explode(" ",$valor);
echo $result[0];
?>

me da error al hacer explode . que puede ser?
  #6 (permalink)  
Antiguo 17/04/2013, 17:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Enviar datos formulario a un array[]

No pases el input directamente como array, no tiene sentido.
Código HTML:
Ver original
  1. <input type="text" name="valores" />
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 17/04/2013, 17:45
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

gracias, pero me sigue dando error

! ) Warning: explode() expects parameter 2 to be string, array given in C:\wamp\www\MyScript.php on line 8
Call Stack
# Time Memory Function Location
1 0.0003 366912 {main}( ) ..\MyScript.php:0
2 0.0003 367048 explode ( ) ..\MyScript.php:8
  #8 (permalink)  
Antiguo 17/04/2013, 17:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar datos formulario a un array[]

Yo creo que no cambiaste correctamente el name, no olvides recargar tu formulario, y revisa con var_dump() lo que recibes en $_POST para que veas los valores que se producen.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 17/04/2013, 17:52
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

oki MUCHAS GRACIAS , dejo el código correcto por si alguien tiene la misma duda :

formulario:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form action="MyScript.php" method="post">
<input type="text" name="valores"> <br>
<input type="submit">
</form>
</body>
</html>


y recibir variables y dividir por espacio array:

<?php
// Obtenemos la variable del formulario:


$valor = $_POST['valores'];
$result = explode(" " ,$valor);
echo $result[0];//muestra la posicion 0 del array
?>


saludos :)
  #10 (permalink)  
Antiguo 17/04/2013, 18:09
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

Tengo otro problema a la hora de comparar lo que le entra y el array con las palabras k kiero k si no son las mismas las muestre.

si escribo: "mi" si me muestra "red". si scribo "red" me da "mi". si pongo "mi red" no me da nada que es lo normal. pero si escribo "mi hijo red" no me da nada y tendría que darme hijo.

que puede ser?

este es mi codigo:

<?php
// Obtenemos la variable del formulario:

$array1 = array("mi", "red");
$valor = $_POST['valores'];
$result1 = explode(" " ,$valor);
$result = array_diff($array1, $result1);

print_r($result);



//echo $result1[];
?>
  #11 (permalink)  
Antiguo 17/04/2013, 18:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Enviar datos formulario a un array[]

Prueba así:
Código PHP:
Ver original
  1. $result = array_diff($result1, $array1);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 18/04/2013, 01:44
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

hola, sigue sin funcionar, ahora pones "hijo" no te da nada y tendria que darte
" mi hijo tiene " con el otro codigo: $result = array_diff($array1, $result1); si pongo hijo si me da "mi red" pero no todo mi hijo red

Última edición por Manolait; 18/04/2013 a las 01:57 Razón: mejora
  #13 (permalink)  
Antiguo 18/04/2013, 04:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Enviar datos formulario a un array[]

Es que debes entender cómo funciona array_diff; devuelve los elementos delprimer array que no estén presentes en ninguno de los demás.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 18/04/2013, 06:00
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

Gracias los que a dicho el compañero arriba si me servio, pero no entendía yo bien la función. este era lo k me valía : $result = array_diff($result1, $array1);
que compara el array con mis palabras prohibidas con la cadena que tu le metes.

Última edición por Manolait; 18/04/2013 a las 06:18
  #15 (permalink)  
Antiguo 18/04/2013, 06:31
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

sigo por aki como puedo pasar ese array $result = array_diff($result1, $array1)

a una tabla?
  #16 (permalink)  
Antiguo 18/04/2013, 10:03
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

He probado esto :

echo "<table width=94% border=1>";
echo "<tr>";
foreach ($result as $actual)
echo "<td>" . $actual. "</td>";
echo "</tr>";

echo "</table>";

pero me las da en filas. y yo lo que kiero sk me las de en columnas xk necesito otra columna para poner una imagen para poder borrar esa posicion del array.
  #17 (permalink)  
Antiguo 18/04/2013, 10:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Enviar datos formulario a un array[]

Solo tienes que poner las filas dentro del bucle, no hay secreto:
Código PHP:
Ver original
  1. foreach ($result as $actual) {
  2.     echo "<tr>";
  3.     echo "<td>" . $actual. "</td>";
  4.     echo "</tr>";
  5. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 18/04/2013, 17:03
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

hola tengo otra duda estoy intentando meter en cada casilla una imagen k me declarado una variable
$delete = "<img src='../../Users/Manolait/Desktop/DeleteRed.jpg'/>";
quiero que se muestre primero con echo $delete; pero sale el cuadrado de la imagen y no la imagen. no se xk.

otra cosa y la mas importante sk kiero meter cada imagen en columna tantas veces como se rellene la tabla anterios con el array $result ej si hay 3 posicones en el array aparezcan 3 imagenes en la otra columna y asi.....

foreach ($result as $actual) {
echo "<tr>";
echo "<td>" . $actual. "</td>";
echo "</tr>";
}
he pensado en hacer por foreach pero me da error si pongo la variable de la imagen o se puede concatenar de alguna forma con esto? echo "<td>" . $actual. "</td>";

Última edición por Manolait; 19/04/2013 a las 02:42 Razón: quiero cambiar el tema de solucionado a no solucionado.
  #19 (permalink)  
Antiguo 19/04/2013, 07:48
 
Fecha de Ingreso: abril-2013
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos formulario a un array[]

ya contesto yo x si le hace falta a alguien

echo "<table width=94% border=1>";

foreach ($result as $actual) {
echo "<tr>";
echo "<td>" . $actual. "</td>" ;
echo '<td> <img src="http://www.forosdelweb.com/f18/DeleteRed.jpg"/> </td>';
echo "</tr>";

}

echo "</table>";

ahora tengo otra duda como pasarle a la imagen el dugar donde sta el array ej : hijo[2] y k borre esa posicion.

ayuda

Etiquetas: 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 01:55.