Como hago esto en PHP

Saludos amigo
Soy nuevo en la programación en PHP y para lo cual instale un servidor con win2003S, que tiene instalado los siguiente programas:
Servidor Apache 2, MySql 5 y PHP 5.
Todo corriendo y funcionando OK.
http://fredymendoza.myip.org/ (sale la configuracion del PHP 5, yo mismo puse eso)
Ahora lo que necesito hacer es que el visitante que desee deje un comentario sobre la web, para lo cual diseñe una base de datos en mysql de nombre "comentario" con los siguientes campos:
- Indice int(10) primary key auto_increment
- Nombre varchar(40)
- Localidad varchar(40)
- Fecha date
- Contenido varchar(300)
Ahora lo que deseo es como hago que aparezca el formulario con los text que me pidan los campos que deseo y que cada vez que le de aceptar me valide los campos y de ser exactos los guarde en la base de datos; así mismo los publique en la página web automáticamente.
Algo así como las preguntas que se hacen en el tablón publico de este foro, los cuales son publicado automáticamente
Como te digo soy newbie en PHP por favor ayuda
así que si me dan un ejemplo por favor agradecería enviarlo a mi correo:
[email protected]
Atentamente
Fredy Mendoza ortiz
6

6 Respuestas

14.950 pts.
Esto:
while([email protected]_fetch_field($resultado))
{echo"<td><b>".$campos->name;}
Para $resultado te devuelve todas las columnas seleccionadas en la consulta...
Si juegas un poco con esto, podes crear campos de formulario hasta del tamaño del campo en la tabla...
Las propiedades de esta función son:
Name - nombre de la columna
Table - name de la tabla a la que pertenece la columna
max_length - longitud máxima de la columna
not_null - 1 si la columna no puede contener un valor nulo
primary_key - 1 si la columna es clave primaria
unique_key - 1 si la columna es clave única
multiple_key - 1 si la columna es clave no única
numeric - 1 si la columna es numérica
blob - 1 si la columna es un BLOB
type - el tipo de la columna
unsigned - 1 si la columna es unsigned
zerofill - 1 si la columna es zero-filled
Para lo ultimo... en el value de los inputs tienes que colocor $nombre del input para que cuando se recargue los llene con el valor que se ingreso...
¿Necesitas qué el Formulario se genere automáticamente en base a los campos de la tabla?
Contestame así te mando los ejemplos...
4.625 pts. Amplios Conocimientos y Experiencia en PHP-MySQL...
Al formulario lo creas con dreamweaver o alguno de esos...
Y le pones a los campos nombre, localidad.. etc
Al formulario le pones en "action" que vaya a una página guardar.php
Este archivo tiene algo así:
<?
$link=conectar();
$resultado=mysql_query("insert into comentario (nombre,localidad,fecha,contenido) values ('$nombre','$localidad','$fecha','$contenido')",$link);
mysql_close($link);
if ($resultado) {echo "datos agregados";}else{echo "error";}
?>
Fíjate que las variables $nombre $localidad son los datos que vienen del formulario. Esto anda si tienes en la configuración del php.ini la directiva register_globals en ON
Sino tienes que hacer antes:
$nombre=$_POST["nombre"];
Y así con todas...
5.625 pts.
<%=Texto%>
Bien, empezamos con ello:
<?
// Conexion a BBDD
$link = mysql_connect("host","user,"password");
mysql_select_db("tabla");
// Insertamos datos si la variable submit esta definida y es 1 --> proviene de hacer un submit del formulario
if ( !isSet($submit) && $submit==1 ) {
$query = "INSERT INTO comentarios VALUES('','$nombre','$localidad','$fecha','$contenido')";
$result = mysql_query($query,$link);
}
// Mostramos comentarios existentes, ordenador por fecha y limitamos los 30 últimos en este caso.
$query = "SELECT * FROM comentario ORDER BY fecha DESC LIMIT 0,30";
$result = mysql_query($query,$link);
while($row = mysql_fetch_array($result) ) {
echo $row['nombre']."<br>";
echo $row['contenido']."<br><br>";
... mas ...
}
?>
<!-- Formulario de Insercion -->
<form name='principal' method='GET' action=''>
<input type='hidden' name='submit' value='1'>
<input type='hidden' name='fecha' value='<? echo date("Y-m-d"); ?>'>
Nombre: <input type='text' name='nombre' size='20'>
... mas ...
Contenido: <textarea name='contenido'></textarea>
</form>
<? mysql_close($link); ?>
36.075 pts. php, asp, delphi, c,bases de datos, SAP, NETWEAVER, InfoPack
Te recomiendo que veas este manual... si consideras que no le entiendes bien al php leelo desde el principio
http://www.webestilo.com/php/php00.phtml
Si crees que la primera parte la entiendes ve a la 2 y ahí te dice un ejemplo como como hacer lo que pides.
http://www.webestilo.com/php/php09a.phtml
36.275 pts. Llevo casi 4 años programando aplicacioens web usando...
Primero hay partes de tu pregunta que me forman lagunas a la hora de formularte la posible respuesta. Por ejemplo que quieres decir con esto: " ... y de ser exactos los guarde en la base de datos ... " ¿cuándo dices ser exactos es o que estén todos los campos llenos (que posean contenido) o que los campos existan previamente en la BDatos y compruebes si son iguales o no? Explicame eso para poder ayudarte
Gracias reynerpm.
Cuando digo " y de ser exactos los guarde en la base de datos ... " quiero decir que se validen, es decir que donde va nombre solamente se puedan ingresar letras más no números y que los campos no sean vacíos..
Muchas gracias
Disculpa mi tardanza pero es que estaba de vacaciones y no revisaba la página. Eso que quieres es simplemente JavaScript. Si quieres realiza una búsqueda en Google poniendo como keywords validar fomrmularios sino me dices que yo tratare de resolver tu problema.
575 pts. Experiencia en programación para la web
Sabes para validar los campos puedes hacerlo con java script (si deseas te envío la función), pero creo que debes crear un nuevo campo que sea mail que también vale controlar que sea correcto, pero no entiendo que exactamente es lo que deseas controlar, que se ingresen datos o que ... por otra parte si consideras que una pregunta es buena creo que debes crear otra tabla en la cual va a tener la valoración de la cregunta y según la valoración la publicas esta tabla debe estar relacionada con la tabla que tienes creada y lo que luegorealizas es un select ... si tienes cualquier duda me contactas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas