Foros del Web » Programando para Internet » PHP »

Ayuda con mi tesis

Estas en el tema de Ayuda con mi tesis en el foro de PHP en Foros del Web. Buenas tengo que entregar mi tesis y tengo un problema, tengo que crear una pagina web sencilla con una base de datos, ahora bien me ...
  #1 (permalink)  
Antiguo 14/07/2009, 14:18
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación Ayuda con mi tesis

Buenas tengo que entregar mi tesis y tengo un problema, tengo que crear una pagina web sencilla con una base de datos, ahora bien me decidi a crear un formulario que tenga Nombre Apellido Email y Comentarios y que al darle enviar me guarde estos datos en la tabla que cree en base de datos de mi hosting gratuito.

Pero entonces cuando lo pruebo me dice este error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password'Prueba')' at line 2

Ahora bien dode dice PRUEBA es el mensaje que se escribe en el area de texto en el formulario correspondiente al formulario y donde dice password es el password de mi base de datos.

No entiendo que significa este error ni porque ahora bien aqui os dejo los 2 codigos

CODIGO DE FORMULARIO.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
body {
background-color: #181818;
}
#apDiv1 {
position:absolute;
left:9px;
top:11px;
width:314px;
height:341px;
z-index:1;
}
body,td,th {
color: #FFFFFF;
}
.Estilo1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
}
-->
</style></head>

<body>


<div id="apDiv1"><form name="webtaller" action="insertar_datos.php" method="post">
<div align="center" class="Estilo1">
<p align="left"><strong>Nombre:
**
<input name="Nombre" type="text" size="24" maxlength="24">
</strong></p>
<p align="left"><strong>Apellido:**
<input name="Apellido" type="text" size="24">
</strong></p>
<p align="left"><strong>
Email:
******
<input name="email" type="text" size="24">
<br>
<br />
Comentarios:</strong><br />
<textarea name="Comentarios" cols="42" rows="9"></textarea>
<br>
</p>
<p align="left">
<label>**************************
<input type="submit" name="button" id="button" value="Enviar" />
</label>
</p>
</div>
</form>
</div>
</body>
</html>


CODIGO DE INSERTAR EN BASE DE DATOS.php
<?php

// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if(isset($_POST['Nombre']) && !empty($_POST['Nombre']) &&
isset($_POST['Apellido']) && !empty($_POST['Apellido'])&&
isset($_POST['email']) && !empty($_POST['email'])&&
isset($_POST['Comentarios']) && !empty($_POST['Comentarios'])) {

// Si entramos es que todo se ha realizado correctamente

$link = mysql_connect("localhost","camacho_camacho","passw ord");
mysql_select_db("camacho_clientes",$link);

// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO Clientes (Nombre,Apellido,email,Comentarios)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellido']},'{$_POST['email']}'{$_POST['Comentarios']}')",$link);

// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);

if(!empty($my_error)) {

echo "Ha habido un error al insertar los valores. $my_error";

} else {

echo "Los datos han sido introducidos satisfactoriamente";

}

} else {

echo "Error, no ha introducido todos los datos";

}

?>


POR FAVOR AYUDENME ES URGENTE NECESITO ENTREGAR ESTO MAÑANA
  #2 (permalink)  
Antiguo 14/07/2009, 14:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Respuesta: URGENTE Ayuda con mi tesis

Hola, revisa esta instruccion, creo que sería el error:

Antes:
Código PHP:
mysql_query("INSERT INTO Clientes (Nombre,Apellido,email,Comentarios)
VALUES ('{$_POST['Nombre']}','{$_POST['Apellido']},'{$_POST['email']}'{$_POST['Comentarios']}')"
,$link); 
Despues:
Código PHP:
mysql_query("INSERT INTO Clientes (Nombre,Apellido,email,Comentarios)
VALUES ('$_POST[Nombre]', '$_POST[Apellido]','$_POST[email]', '$_POST[Comentarios]')"
,$link); 
Espero te sirva.
  #3 (permalink)  
Antiguo 14/07/2009, 14:58
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
De acuerdo Respuesta: URGENTE Ayuda con mi tesis

Infinitas gracias!!!!! YA ACCESO!!!!!! Y SE GUARDO!!!!!!

Ahora si pudieas ayudarme en otra cosa necesito que esto tambien al darle enviar llegue a un correo electrónico.

De igual forma necesito que el administrador de la pagina pueda accesar a toda la base de datos cuando quiera y la pueda bajar en un archivo de excel. Existe una forma que me la da el hosting gratuito que es accesando al PHPadmin y me da la opcion de descargar la base de datos en el formato que desee, pero quisiera que cada vez que se envie el email al correo del administrador con los datos del formulario tambien se envie el link desde el cual pueda descargar cada vez que quiera la base de datos completa. Esto se puede hacer y si me pueden ayudar...
  #4 (permalink)  
Antiguo 14/07/2009, 15:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 7 meses
Puntos: 0
De acuerdo Respuesta: URGENTE Ayuda con mi tesis

Cita:
Iniciado por mosheyanuv Ver Mensaje
Infinitas gracias!!!!! YA ACCESO!!!!!! Y SE GUARDO!!!!!!

Ahora si pudieas ayudarme en otra cosa necesito que esto tambien al darle enviar llegue a un correo electrónico.

De igual forma necesito que el administrador de la pagina pueda accesar a toda la base de datos cuando quiera y la pueda bajar en un archivo de excel. Existe una forma que me la da el hosting gratuito que es accesando al PHPadmin y me da la opcion de descargar la base de datos en el formato que desee, pero quisiera que cada vez que se envie el email al correo del administrador con los datos del formulario tambien se envie el link desde el cual pueda descargar cada vez que quiera la base de datos completa. Esto se puede hacer y si me pueden ayudar...
Pues lo del enlace si tendrias que saber cual es, pero con el correo si te puedo ayudar:

Código PHP:
  // Para enviar correo HTML, la cabecera Content-type debe definirse
  
$cabeceras  'MIME-Version: 1.0' "\r\n";
  
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

  
// Cabeceras adicionales - de donde se envia el correo
  
$cabeceras .= 'From: Correo saliente <[email protected]>' "\r\n";
  
  
$mensaje="<html><body>En horabuena. <br /><a href='direccionenlace'>Ir a descargar BD</a></body></html>"

  
$destinatarios="[email protected]";
  
$asunto="Contactenos";
  
mail($destinatarios$asunto$mensaje$cabeceras); 
Obviamente es un pequeño ejemplo. Saludos.
  #5 (permalink)  
Antiguo 14/07/2009, 15:30
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
este codigo php lo coloco en el mismo php que cree para enviar a la base de datos cierto? ahora si esto es asi en que parte deberia colocarlo, si pudieras darme un ejemplo con el codigo que puse arriba seria genial, es que ahorita la presion de la teiss no me tiene para pensar mucho. please y disculpa la molestia

Este codigo php lo coloco en el mismo php que cree para enviar a la base de datos cierto? ahora si esto es asi en que parte deberia colocarlo, si pudieras darme un ejemplo con el codigo que puse arriba seria genial, es que ahorita la presion de la teiss no me tiene para pensar mucho. please y disculpa la molestia.

Ahora venga y me explico mejor tio, que creo que estoy un poco liao...

Lo que necesito es que el formulario haga lo siguiente:

1) Envie datos y los introduzca en la tabla creada en la BBDD (Ya esto esta listo)

2) De igual manera al darle enviar al formulario me envie un correo a una direccion de correo con los datos del Formulario que diga por ejemplo SE HA ACTUALIZADO TU BASE DE DATOS y entonces en el mismo correo se vacien los campos Nombre Apellido y demas que ha llenado el usuario.

y 3) Que el administrador de la pagina osea yo pueda accesar a mi base de datos atraves de la misma web osea crear una pagina privada que diga descargar base de datos o sino que el link permanente donde esta alojada la base de datos lo pueda anexar al cuerpo del email anterior cada vez que alguien envie el formulario y este vaya a mi correo. La opcion que sea mas comoda y facil. Ahora el rollete esta en que yo se como descargar la base de datos desde el cpanel en phpadmin pero no me da un link el phpadmin sino que me dice que elija el formato y le de continuar...

Última edición por GatorV; 14/07/2009 a las 17:22
  #6 (permalink)  
Antiguo 14/07/2009, 15:54
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: URGENTE Ayuda con mi tesis

Si, el correo del email lo colocas en la parte inferior de tu codigo, es decir despues de la linea que contiene el mysql_query con el INSERT INTO.

Como te dije en la variable $mensaje, debe ir el contenido del mensaje en HTML.

Trata de organizarlo tu y yo te doy mis comentarios y aportes, ok?

Saludos...
  #7 (permalink)  
Antiguo 14/07/2009, 17:15
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: URGENTE Ayuda con mi tesis

No funca tio....

me da este error

Parse error: syntax error, unexpected T_VARIABLE in /home/camacho/public_html/insertar_datos.php on line 91

este es el codigo que puse

insertar_codigo.php
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #FFFFFF;
font-weight: bold;
}
body {
background-color: #181818;
}
#apDiv1 {
position:absolute;
left:53px;
top:59px;
width:104px;
height:20px;
z-index:1;
}
#apDiv2 {
position:absolute;
left:56px;
top:65px;
width:117px;
height:15px;
z-index:2;
}
a:link {
color: #FFFFFF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #CCCCCC;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
-->
</style>
<div id="apDiv1"><img src="minilink.png" width="135" height="27" /></div>
<div id="apDiv2"><a href="formulario.htm" target="_self">Volver al Formulario</a></div>
<?php

// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if(isset($_POST['Nombre']) && !empty($_POST['Nombre']) &&
isset($_POST['Apellido']) && !empty($_POST['Apellido'])&&
isset($_POST['email']) && !empty($_POST['email'])&&
isset($_POST['Comentarios']) && !empty($_POST['Comentarios'])) {

// Si entramos es que todo se ha realizado correctamente

$link = mysql_connect("localhost","camacho_camacho","passw ord");
mysql_select_db("camacho_clientes",$link);

// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO Clientes (Nombre,Apellido,email,Comentarios)
VALUES ('$_POST[Nombre]', '$_POST[Apellido]','$_POST[email]', '$_POST[Comentarios]')",$link);

// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);

if(!empty($my_error)) {

echo "Ha habido un error al insertar los valores. $my_error";

} else {

echo "Los datos han sido introducidos satisfactoriamente";

}

} else {

echo "Error, no ha introducido todos los datos";

}

// Para enviar correo HTML, la cabecera Content-type debe definirse
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Cabeceras adicionales - de donde se envia el correo
$cabeceras .= 'From: <Camacho Construcciones C.A>' . "\r\n";

$mensaje="<html><body>SU BASE DE DATOS HA SIDO ACTUALIZADA<br/></body></html>"

$destinatarios="[email protected]";
$asunto="Contactenos";
mail($destinatarios, $asunto, $mensaje, $cabeceras);
?>
  #8 (permalink)  
Antiguo 14/07/2009, 17:19
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: URGENTE Ayuda con mi tesis

Bueno tienes que hacer un ini_set a la directiva smtp, algo como lo siguiente:

ini_set("SMTP", "smtp.fibertel.com.ar");

antes de enviar el email, esto porque debes contar con un servidor que te envie el correo.
  #9 (permalink)  
Antiguo 14/07/2009, 17:33
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: URGENTE Ayuda con mi tesis

Ok pero y eso donde lo pongo osea no entiendo, me podrias explicar como deberia ser el codigo en realidad y en que parte de mi hosting puedo encontrar esa direccion?
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 09:35.