Ayuda para crear un formulario..

iberclan

Member
Messages
400
Reaction score
0
Points
16
Buenas,

Vereis quiero crear un formulario en el que al rellenarlo,lo envie a una base de datos,y la pagina lo muestre esos datos en tablas,es decir,yo quiero crear una pagina que al entrar,tu veas una tabla,con las celdas

----------------------------------------------------------
ID | lo que introduces en el formulario| lo que introduces
----------------------------------------------------------
Key | " " | " "
----------------------------------------------------------

asi unas veces, no se si veis mi idea, y en el que al lado de la linea ponga, editar,eliminar ese campo.

no quiero nada de sesiones nia nada por el estilo,solo lo voy a usar yo con directorio protegido,por que quiero llevar un orden,ya que tenia una información guardada en mi disco duro,y murió,y no puedo recuperarla,y prefiero subirlo,creando mas o menos como lo habéis visto.

Thx
 

iberclan

Member
Messages
400
Reaction score
0
Points
16
no se crear codigo php por mi cuenta, pero ver lo que hace el cogio etc.. si llego a entender, por eso nito ayuda XDD
 

papichulo_carioco

Community Advocate
Community Support
Messages
1,400
Reaction score
12
Points
0
HTML:
<FORM method=post action="cgi-bin/script.pl">
Registro de un usuario
<TABLE BORDER=0>
<TR>
	<TD>Apellido</TD>
	<TD>
	<INPUT type=text name="apellido">
	</TD>
</TR>

<TR>
	<TD>Nombre</TD>
	<TD>
	<INPUT type=text name="nombre">
	</TD>
</TR>

<TR>
	<TD>Género</TD>
	<TD>
	Hombre: 
Mujer: <INPUT type=radio name="género" value="M">
	<br>Mujer: <INPUT type=radio name="género" value="F">
	</TD>
</TR>

<TR>
	<TD>Ocupación</TD>
	<TD>
	<SELECT name="ocupación">
		<OPTION VALUE="profesor">Profesor</OPTION>
		<OPTION VALUE="estudiante">Estudiante</OPTION>
		<OPTION VALUE="ingeniero">Ingeniero</OPTION>
		<OPTION VALUE="jubilado">Jubilado</OPTION>
		<OPTION VALUE="otro">Otro</OPTION>
	</SELECT>
	</TD>
</TR>
<TR>
	<TD>Comentarios</TD>
	<TD>
	<TEXTAREA rows="3" name="comentarios">
	Escriba aquí sus comentarios</TEXTAREA>
Enviar
	</TD>
</TR>

<TR>
	<TD COLSPAN=2>
	<INPUT type="submit" value="Enviar">
	</TD>
</TR>
</TABLE>
</FORM>

Este es un ejemplo de formulario cuyo resultado seria una tabla con dos coumnas donde te pide

  • Appellido
  • Nombre
  • Género
  • Comentarios
  • Y el boitón enviar
Para más información visita http://es.kioskea.net/contents/html/htmlform.php3. Saludos ;)
 

iberclan

Member
Messages
400
Reaction score
0
Points
16
si,asta si supe hacerlo,pero lo que ponia, quiero que al hacerlo, lo envie a una data base,y una pagina muestre los valores de la database en una tabla,que es ahi lo que no se crear :p
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Básicamente tienes un directorio privado para ti (llamémosle "public_html/admin").
Lo que necesitarías es crear un archivo PHP llamdo index.php dentro de dicha carpeta. Será un archivo/script que conste de dos partes (lo he pensado así para ahorrarse el tener que hacer dos páginas ya que me pareció más cómodo hacerlo en un solo archivo).

Estas dos partes son, a saber:

Introducción/Verificación de datos: la primera parte de la página constará de un formulario con dos campos. Digo dos porque voy a suponer que el primer campo, ID, será único para cada entrada (esto sería importante mantenerlo, aunque sea una base de datos de tan solo una tabla, para mejorar la consistencia y hacer la cosa más fácil).
Si este es el caso, ese campo puede ser creado por ti en phpMyAdmin como clave primaria autoincremental. Es decir, que cuando PHP envía la información, MySQL, que es más listo que el hambre, busca una clave que no esté en uso, normalmente la anterior + 1 (de ahí lo de autoincremental).
Este formulario irá (como yo lo llamo) "autodirigido". Es decir, la página index.php enviará los datos de este formulario a sí misma. Entonces, si lo ves necesario, se puede hacer una simple comprobación de los datos (si quieres que alguno sea numérico, si quieres que alguno sea obligatorio, etc) y que no añada nada hasta que la información esté completamente correcta.

Muestra de datos: en la segunda parte, PHP leerá la base de datos y mostrará los datos de la tabla (MySQL) en una tabla (HTML), valga la redundancia. Incluso en esa tabla HTML se puede añadir un simple iconito en cada entrada para eliminarla (todos nos confundimos alguna vez jejeje o puede que incluso quieras borrar alguna de las entradas).

Hecho de este modo, si añades algo con la primera parte, inmediatamente lo verás en la segunda parte, lo cual veo mucho más cómodo que tener que andar cambiando entre una página y otra.




Si esto es lo que básicamente quieres, dímelo porque sé hacerlo y además sin complicaciones (suponiendo que tienes acceso a tus bases de datos MySQL vía phpMyAdmin).
Aunque creo que tardaré un poco porque no tengo instalado PHP, MySQL ni Apache ya que formateé hace poco jejeje Quizás por ahorrar tiempo y complicaciones, use XAMPP o WAMP que lo instala todo de una vez. Además de que tengo otras cosas entre manos que me quitan bastante de mi tiempo jejeje.

Pues nada, dime con lo que sea y vemos cómo nos arreglamos.
 

iberclan

Member
Messages
400
Reaction score
0
Points
16
Pues si,es exactamente lo que quiero,podríamos usar de ejemplo lo que dijo papichulo,con ese mismo código,para ver como lo haces el script,de enviar a la base de datos,y luego que el php lo muestre en una tabla html,como bien lo indicas,y solo seria eso.

Lo quiero de esta manera sencilla, por que como seré yo el único que lo veré, y lo quiero tener organizado y en un sitio mas o menos seguro que se que no se borrara,ya que tenido un gafe de que se me jodiera el disco duro XDDD,y lo tendré organizado, aparte aprenderé esto sencillo que es interesante :p.

ty
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Entonces seguiré con mis tareas de reinstalación y miraré de sacar un hueco para ponerme el WAMP o similares y probar (porque lo cierto es que hace un tiempecito que no hago nada en PHP+MySQL... pero en cuanto lo vuelva a mirar, no habrá problemas)
 

gomarc

Member
Messages
516
Reaction score
18
Points
18
okis ,esperare :)

Hola iberclan,

Mientras tanto, has creado la base de datos y la tabla donde irán a parar tus datos?

Si no lo has hecho todavía usa cPanel > MySQL Database Wizard y toma nota del nombre de la base de datos, el usuario y la password pues lo vas a necesitar.

No te olvides de asignar privilegios para el usuario que vayas a usar (último paso del wizard)

Para crear una tabla en tu base usa cPanel - phpMyAdmin y selecciona la base de datos que has creado previamente del menú de la izquierda.

Al final de la ventana principal verás Create new table. En base al ejemplo de papapichulo_carioco se necesitarán 5 campos (fields)

Completa los campos con esta información:

v8okcm.jpg


Nota que he completado los campos sin acentos.

Si quieres que el campo “id” se incremente automáticamente, deberás ir a la derecha del formulario y seleccionar:

Attributes: UNSIGNED
Extra: auto_increment
Select click "Primary" Key

axmslu.jpg


Ya puedes salvar tu tabla, presionando el botón SAVE y estarás un paso más cerca de tener funcionando lo que buscas.
 
Last edited:

iberclan

Member
Messages
400
Reaction score
0
Points
16
He echo lo que me has dicho, de momento bien, ahora a esperar como creo el codigo :p.:biggrin:
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Bueno. Ya he reinstalado WAMP. Para mí sorpresa, me he encontrado en mi unidad D, la unidad que no formateo (rebuscando instaladores de programas viejos XD), plantillas y maquetaciones. Por ahora he hecho la página en HTML + CSS, que gracias a las plantillas que tengo es súper sencillo (tengo plantillas para todo: cabeceras, contenidos, formularios, tablas e incluso tengo botones genéricos que hice para mis proyectos cuando estudiaba PHP en el instituto).
Ahora a darle la funcionalidad en PHP+MySQL, que será sencillo también, no creo que tarde mucho. De hecho tengo también una plantilla de formulario PHP con comprobación de campos (si son obligatorios, han de ser numéricos, etc).

Tal como lo tengo planteado, quizás te sirva la tabla que has hecho. Una cosa: ¿los campos de texto serán más o menos "largos"? Me refiero, ¿alguno será multi-línea? ¿Más o menos cuántos caracteres cada uno de los dos campos de texto? Es para hacerme una idea de si tengo que cambiar algo del formulario HTML.
 
Last edited:

iberclan

Member
Messages
400
Reaction score
0
Points
16
pues lo mas largo sera un código,de a lo mejor 100 caracteres... ponle 100 a los campos de texto y ya va bien :)- Tyy
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Vale, les puse 128 por probar. Y single line XD Supongo que lo dejo así, que tampoco hay mucha diferencia entre 100 y 128.

Te mando por privi lo hecho, a ver.

Si quieres saber cómo funciona alguna cosa para aprenderla, dímelo y te lo explico :)
 
Last edited:

gomarc

Member
Messages
516
Reaction score
18
Points
18
iberclan,

Por si tienes dificultades creando la tabla `t_admin`, me permito aportar esta fácil solución:

Usando Notepad, puedes crear un archivo ‘tabla.sql’ en tu computadora con este código:

Code:
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE IF NOT EXISTS `t_admin` (
  `i_key` int(11) NOT NULL AUTO_INCREMENT,
  `s_text_a` varchar(128) CHARACTER SET utf8 NOT NULL,
  `s_text_b` varchar(128) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`i_key`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Luego, vas a tu cPanel > phpMyAdmin y seleccionas la base de datos que vayas a usar.

Selecciona ‘Import

6j3mmp.jpg



Busca el archivo tabla.sql en tu computadora con el Browse

33cp45u.jpg


Y dejando todo como está selecciona GO.

La tabla estará lista para usar con el código de miguelkp. Lo único que tendrás que modificar será el nombre de la base de datos, tu usuario y contraseña.

A miguelkp: My buen trabajo. Te agrego +REP por tu tarea. ¿No quieres compartir con el resto de los usuarios tu código?

Nota a usuarios en general: Si miguelkp decide hacer público su código, tengan en cuenta que corre en un directorio protegido disponible sólo para el uso de iberclan, y por eso no hay verificación de la información ingresada por el usuario. Si se tratara de un código para el público en general, nunca hay que permitir ingreso directo de información a la base de datos sin antes verificar que no sea código maligno o spam.
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Muy buena idea, gomarc. No se me había ocurrido a priori integrar la creación de la base de datos/tabla dentro del propio PHP. Cosas de trabajar rápido en la plantilla XD Pero quizás lo añadiré a la propia plantilla como opcional mediante una global de basic_inc.php, digamos $B_BDD_AUTO = [true|false], por ejemplo. Me lo apunto.

Y gracias por la reputación ;)
Sobre publicarlo, me parece un código demasiado "específico" (en este caso para el "problemilla" de Iberclan) para publicarlo. Lo bueno sería publicar algo más "genérico".
Pero por mí no habría problema, eso sí.

Aunque bien visto, público es ahora mismo XD Se lo iba a mandar por privi pero los tiene desactivados, así que lo puse en su perfil público (como, obviamente, has podido comprobar jejeje).
 

iberclan

Member
Messages
400
Reaction score
0
Points
16
Muchísimas gracias a los 2!,e logrado adaptarlo,y funciona :D! ahí tenéis la repu y thanks ;)
 

gomarc

Member
Messages
516
Reaction score
18
Points
18
Hola iberclan,

"La necesidad es la madre de todos los inventos"
Has encarado el drama de haber perdido tu disco duro con optimismo, y has aprendido algo nuevo de eso. Felicitaciones por tu manera de encarar el problema.

Gracias por la REP+
 
Top