PHP - formulario texto mas imagenes

   
Vista:

formulario texto mas imagenes

Publicado por albert (18 intervenciones) el 04/02/2013 08:50:48
Hola :
tengo un formulário que recoge datos , los pasa por sqlite y los muestra en una segunda página, hasta aquí todo bien , ahora mi pregunta es la siguiente , quiero incluir que en el mismo formulario el usuario pueda subir imagenes, pero entonces cambia el sistema de formulario, ¿se puede juntar todo?.
Me explico con código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//ESTABLECER una consulta----------------------------------
$consulta= "SELECT * FROM noticias ;";
 
//ejecutar la consulta-------------------------------------
$resultado=sqlite_query($conexion,$consulta);
 
//imprimir la consulta-------------------------------------
 
echo"<br/><table border=1 width=100%>
<tr align='center'>
<td colspan='4'>Introdueix la notícia</td>
</tr>
<tr>
<td>Títol Noticia </td>
<td>Contingut Noticia</td>
<td>inserta tu imagen</td>
<td></td>
</tr>

";
 
while ($fila=sqlite_fetch_array($resultado)){
 
echo"<tr><td>".$fila['titulo']."</td><td>".$fila['noticia'].
	"</td><td>
	<a href='noticiaeliminar.php?titulo=".$fila['titulo']."&noticia=".$fila['noticia']."'>Eliminar</a></</td><td>
	<a href='noticiaformularioactualizar.php?titulo=".$fila['titulo']."&noticia=".$fila['noticia']."'>Actualizar</a></td></tr>";
 
}
 
//añadir un registro
echo"

<tr>
	<form action='noticiacrearnoticia.php' method='POST'>
	<td align><input type='text' name='titulo'></td>
	<td colspan='2' width='100%'><textarea name='noticia' id='textarea' cols='90' rows='10'></textarea></td>
	<td><input type='submit'></td><td></td>
</tr>
";
 
echo"</table>";
 
//cerramos la conexion-------------------------------------
sqlite_close($conexion);


bueno como puedes ver hay una opción para el titulo y otra para la noticia , lo envia a otra pagina que lo procesa y lo muestra , bueno ya está en funcionamiento y va muy bien ahora me gustaría que se pudieran también incluir imágenes o pdf, pero el tipo de formulario no puede ser el mismo
<form action='noticiacrearnoticia.php' method='POST' enctype='multipart/form-data'> ¿Se pueden unir en el mismo formulari?me interesaria que en la misma noticia saliera el titulo la noticia y las imagenes.
Me podeis ayudar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 04/02/2013 09:37:14
Hola Albert, sin ningún problema, lo puedes juntar... es decir, podrias utilizas el formulario que tienes actualmente añadiendole tambien: enctype='multipart/form-data'

enctype, determina la manera en que se codifican los datos cuando se envían al servidor. Los posibles valores son:
application/x-www-form-urlencoded (defecto) Todos los caracteres son codificados antes de enviarlos. Los espacios son convertidos por el símbolo "+" y los caracteres especiales son convertidos en su valor ASCII hexadecimal.
multipart/form-data Los caracteres no son codificados. Es necesario para subir archivos, ya que no puede codificar su contenido.
text/plain Los espacios son convertidos por el símbolo "+", pero no los caracteres.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por albert (18 intervenciones) el 04/02/2013 19:46:08
Gracias xve lo pondré en practica espero que funcione todo ok.
mil gracias amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por albert (18 intervenciones) el 07/02/2013 14:41:19
Hola :
he modificado el form de esta manera y me parece que no es suficiente, me puedes explicar como he de modificarlo, pués he probado varias cosas y no me resulta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
while ($fila=sqlite_fetch_array($resultado)){
 
echo"<tr><td>".$fila['titulo']."</td><td>".$fila['noticia']."</td><td>".$fila['imagen']."</td><td>".
	"</td><td>
	<a href='voluntariseliminar.php?titulo=".$fila['titulo']."&noticia=".$fila['noticia']."&imagen=".$fila['imagen']."'>Eliminar</a></</td><td>
	<a href='voluntarisformularioactualizar.php?titulo=".$fila['titulo']."&noticia=".$fila['noticia']."&imagen=".$fila['imagen']."'>Actualizar</a></td></tr>";
 
}
 
//añadir un registro
echo"

<tr>
	<form action='voluntariscrearnoticia.php' method='POST' enctype='multipart/form-data'>
	<td><input type='text' name='titulo'></td>
	<td colspan='2' width='100%'><textarea name='noticia' id='textarea' cols='90' rows='10'></textarea></td>
	<td><input type='file' name='imagen'/> </td>
	<td><input type='submit'></td><td></td>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 07/02/2013 20:49:57
Hola Albert, no se muy bien que tiene que ver el while con el formulario, pero la parte del formulario yo te diría que esta correcta, lo único que le falta, es cerrar el </form>...

Que problema tienes ahora? en principio, debería de enviarte el texto del titulo, el textarea y el archivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por albert (18 intervenciones) el 10/02/2013 06:56:14
Hola amigo:
Sobretodo gracias por estar aquí intentaré explicarme lo más claro posible.
Hola de nuevo os explico de nuevo he añadido en el formulario alguna linea y despues os pongo la página que la recibe.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//añadir un registro
echo"

<tr>
	<form action='voluntariscrearnoticia.php'  enctype='multipart/form-data' method='POST'>
	<td align><input type='text' name='titulo'></td>
	<td colspan='2' width='100%'><textarea name='noticia' id='textarea' cols='90' rows='10'></textarea></td>
	<td><input name='fichero' type='file' /></td>
	<td><input name='comentario' type='text' /></td></tr>
	<tr><td>

	<td><input type='submit'></td><td></td>
</tr>
";
 
echo"</table>";
 
//cerramos la conexion-------------------------------------
sqlite_close($conexion);
 
//ESTE ES EL FORMULARIO 
-----------------------------------------------------------------
//AHORA VAMOS A POR EL QUE RECIBE LA INFO Y TEÓRICAMENTE LA DEBERÍA DE MOSTRAR ABAJO
//Crear variables---------------------------------------
$utc= date('U');
$anio= date('Y');
$mes= date('m');
$dia= date('d');
$hora= date('H');
$minuto= date('i');
$segundo= date('s');
$usuario=$_SESSION['usuario'];
$contrasena=$_SESSION['contrasena'];
$titulo=$_POST['titulo'];
$addtitulo=$_POST['titulo'];
$addnoticia=$_POST['noticia'];
$comentario=$_POST['comentario'];
$titulo_sin=trim($addtitulo);
$noticia_sin_es=trim($addnoticia);
$comentario_sin=trim($comentario);
// Recoge el nombre del fichero que se habrá indicado en el formulario
$fichero = $_FILES["fichero"]["name"];
// Recoge la ubicación temporal del fichero en el servidor
$fichero_tmp = $_FILES["fichero"]["tmp_name"];
// Ruta completa (incluido el nombre del fichero)
$destino = "./ficheros/" . $fichero;
// Copia el fichero al directorio de nuestro servidor, cogiéndolo de la ubicación temporal
if (move_uploaded_file($fichero_tmp, $destino))
{
// Conecta con la Base de Datos e inserta la información de la ruta y comentario del fichero-------------------------	
$conexion=sqlite_open('autorizados.db');
//Establecer consulta------------------------------------------------------------------------------------------------
$consulta=
 
<<<SQL
 
INSERT INTO voluntariat VALUES
('$utc','$anio','$mes','$dia','$hora','$minuto','$segundo','$usuario','$contrasena','$titulo_sin','$noticia_sin_es','$fichero','$comentario_sin');
 
SQL;
 
//Ejecuto la consulta-------------------------------------
 
$resultado=sqlite_exec($conexion,$consulta);
 
//Cierro la conexion--------------------------------------
 
sqlite_close($conexion);
 
//volver a enseñar página---------------------------------
/*echo'
	<meta http-equiv="refresh" content="0;url=voluntaris.php">
	';*/
	echo "<img src='$fichero'>";
	}
?>


NO ME LA MUESTRA
Alguien sabe donde estoy fallando?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por albert albert_decas@hotmail.com (18 intervenciones) el 10/02/2013 08:44:16
Solucionado amigos:
Al final era tan tonto el error que no lo sabía encontrar
última linea del echo era.
echo "<img src=$destino";
Gracias igualmente, todo incluido en el mismo form y funcionando
Si alguien quiere puede utilizar este código como ayuda y de nuevo gracias a todos sobretodo a xve gracias amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 10/02/2013 17:47:09
Gracias por comentarlo Albert!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por Albert albert_decas@hotmail.com (18 intervenciones) el 25/02/2013 08:05:17
Hola de nuevo :
Formulario todo ok , pero me encuentro un nuevo problema me acepta acetos , comas etc.. lo que no me acepta es ' y al ser en Catalán se utiliza mucho .
Sabes que puedo hacer para que se pueda incluir?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 25/02/2013 08:27:26
Hola Albert, cuando haces el insert, pones los campos entre comillas simples, por lo que el texto no puede contener ninguna comilla, sino cortaría la cadena dando error el insert.

Para ello, una de las cosas que puedes hacer es escapar la comilla, es decir ponerle una contrabarra delante, algo así
1
'.....\'....'
de esta manera no tendrás problema.

Te recomiendo utilizar la instrucción
1
str_replace("'","\'",$cadena);


Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por Albert (18 intervenciones) el 27/02/2013 19:30:48
Hola xve:
No se en que fallo te explico
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//insertar variables
 
$noticia_sin_es=trim($addnoticia);
$comentario_sin=trim($comentario);
//creo el replace
$cadena = "$noticia_sin_es";
 $buscar = "'";
 $reemplazar = "\'";
 $notifin= str_replace($buscar,$reemplazar,$cadena);
 
INSERT INTO noticias VALUES
('$utc','$anio','$mes','$dia','$hora','$minuto','$segundo','$usuario','$contrasena','$titulo_sin','$notifin','$fichero','$comentario_sin');
 
Inserto en el formulario
//parte de un texto cualquiera con apóstrofe.
Es bat l'ou amb la pell de llimona
//resultado es un error


sqlite_exec() [function.sqlite-exec]: near "ou": syntax error in ......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 27/02/2013 21:42:41
Hola Albert, haces una cosa que veo un poco rara, y es esta:
1
$cadena = "$noticia_sin_es";

Creo que te sobran las comillas.
De todas maneras, haz un:
1
2
echo $cadena;
echo $notifin;

Una vez hayas ejecutado el str_replace, haber que te devuelve.

Si nos puedes mostrar los resultados...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por Albert albert_decas@hotmail.com (18 intervenciones) el 28/02/2013 21:16:40
INSERT INTO noticias VALUES
('$utc','$anio','$mes','$dia','$hora','$minuto','$segundo','$usuario','$contrasena','$titulo_sin','$notifin','$fichero','$comentario_sin');

echo $cadena;
echo "<br/>";
echo $notifin;

Warning: sqlite_exec() [function.sqlite-exec]: near "ou": syntax error in C:\xampp\htdocs\curso\cuatreVents\datos\noticiacrearnoticia.php on line 62
Es bat l'ou amb la pell de llimona

Es bat l\'ou amb la pell de llimona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 28/02/2013 22:04:56
Alberto, no sabia que estabas utilizando sqllite... mil perdones...
En sqllite, para escapar una comilla, hay que poner dos...

1
2
3
$buscar = "'";
$reemplazar = "''";
$notifin= str_replace($buscar,$reemplazar,$cadena);


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por Albert albert_decas@hotmail.com (18 intervenciones) el 01/03/2013 16:30:54
Hola xve primero de todo mil gracias por estar siempre aquí:
al final lo he solucionado de la siguiente manera:

$str = sqlite_escape_string($noticia_sin_es)

;INSERT INTO noticias VALUES
('$utc','$anio','$mes','$dia','$hora','$minuto','$segundo','$usuario','$contrasena','$titulo_sin','$str','$fichero','$comentario_sin');

Funciona ok

De nuevo mil gracias , la formula no me servia pero me hizo encontrar nuevos caminos , sin ti aún estaría buscando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

formulario texto mas imagenes

Publicado por xve (5520 intervenciones) el 01/03/2013 23:38:35
Hola Alberto, gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

formulario texto mas imagenes

Publicado por Albert (18 intervenciones) el 03/03/2013 05:36:18
Hola xve and company:
Je je otra vez por aquí , es que cuando soluciono una cosa me salen 2 problemas nuevos.
Te explico el formulario funciona ok , pero para eliminarlo o modificarlo , tengo
$conexion=sqlite_open('autorizados.db');
$consulta= "SELECT * FROM noticias WHERE titulo='".$titulo."' AND noticia='".$noticia."'";
Pero ahora noticia , cuando ponen un ' ya no es la misma de antes ,
¿me ayudas en la solución porfa?
Gracias de nuevo y mientras tanto sigo buscando y experimentando.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar