Foros del Web » Programando para Internet » PHP »

Formulario enlazado a base de datos

Estas en el tema de Formulario enlazado a base de datos en el foro de PHP en Foros del Web. Buenas a todos, debidoa que no conozco del tema PHP, he generado un formulario con una aplicacion autoinstalable en mi hosting. Paso el link: http://masterincsrl.com/formulario_contadores/use/toma_contadores/form1.html ...
  #1 (permalink)  
Antiguo 04/08/2008, 08:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Formulario enlazado a base de datos

Buenas a todos,
debidoa que no conozco del tema PHP, he generado un formulario con una aplicacion autoinstalable en mi hosting.

Paso el link:
http://masterincsrl.com/formulario_contadores/use/toma_contadores/form1.html

en algun punto de la modificacion estetica, es obvio que toke algo de codigo que no debia y el procesamiento de la info (process.php)

http://masterincsrl.com/formulario_contadores/use/toma_contadores/process.php

tira este error:

Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/am000409/public_html/formulario_contadores/use/toma_contadores/process.php on line 52]


Como les comente, no logro descubir cual es el problema.
Si hay alguien por alli que pueda darme una mano, estare muy agradecido, porque tengo que tener este formulario funcionando para esta noche.

Muchas gracias a quien pueda ayudar.
Saludos.
elduke
  #2 (permalink)  
Antiguo 04/08/2008, 08:23
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Formulario enlazado a base de datos

Deberías abrir process.php con un editor de texto (Bloc de notas o similar) y poner aquí el código
  #3 (permalink)  
Antiguo 04/08/2008, 08:23
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

Como siempre la solución es leer el error. Lo dice claro: expecting T_VARIABLE or '$.
Seguramente te has olvidado de poner un $ delante una variable o algo por el estilo. Y también te dice la línea...

Aprendamos a leer, que no cuesta tanto... Y en cualquier caso si pones este mismo error en el google (quitando la información de la ruta del archivo en tu PC, evidentemente), encuentras el motivo fijo y te ahorras perder tiempo a cada cosa de estas.
  #4 (permalink)  
Antiguo 04/08/2008, 08:25
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Formulario enlazado a base de datos

Cita:
Iniciado por Mort20 Ver Mensaje
Como siempre la solución es leer el error. Lo dice claro: expecting T_VARIABLE or '$.
Seguramente te has olvidado de poner un $ delante una variable o algo por el estilo. Y también te dice la línea...

Aprendamos a leer, que no cuesta tanto... Y en cualquier caso si pones este mismo error en el google (quitando la información de la ruta del archivo en tu PC, evidentemente), encuentras el motivo fijo y te ahorras perder tiempo a cada cosa de estas.
El autor ha dicho que no entiende el tema del PHP y que lo ha generado automáticamente. ¿Cómo va a conocer la sintaxis del lenguaje?

Aprendamos a leer
  #5 (permalink)  
Antiguo 04/08/2008, 08:40
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

jaja, anda, esto es un "pwn3d!" en toda regla xDD
En fin, pido disculpas.
  #6 (permalink)  
Antiguo 04/08/2008, 09:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

Gracias david_M_G y Mort20 por responder:

Aqui copio el codigo del process.php
espero que puedan ayudarme con el tema.

gracias !


<?php
include("global.inc.php");
$errors=0;
$error="The following errors occured while processing your form input.<ul>";
pt_register('POST','nombre');
pt_register('POST','apellido');
pt_register('POST','empresa');
pt_register('POST','mail');
pt_register('POST','telefono');
pt_register('POST','contadorespertenecientesalmesd e');
pt_register('POST','01marca');
pt_register('POST','01modelo');
pt_register('POST','01serie');
pt_register('POST','01contador');
pt_register('POST','02marca');
pt_register('POST','02modelo');
pt_register('POST','02serie');
pt_register('POST','02contador');
pt_register('POST','03marca');
pt_register('POST','03modelo');
pt_register('POST','03serie');
pt_register('POST','03contador');
pt_register('POST','04marca');
pt_register('POST','04modelo');
pt_register('POST','04serie');
pt_register('POST','04contador');
pt_register('POST','05marca');
pt_register('POST','05modelo');
pt_register('POST','05serie');
pt_register('POST','05contador');
pt_register('POST','06marca');
pt_register('POST','06modelo');
pt_register('POST','06serie');
pt_register('POST','06contador');
pt_register('POST','07marca');
pt_register('POST','07modelo');
pt_register('POST','07serie');
pt_register('POST','07contador');
pt_register('POST','08marca');
pt_register('POST','08modelo');
pt_register('POST','08serie');
pt_register('POST','08contador');
pt_register('POST','09marca');
pt_register('POST','09modelo');
pt_register('POST','09serie');
pt_register('POST','09contador');
pt_register('POST','10marca');
pt_register('POST','10modelo');
pt_register('POST','10serie');
pt_register('POST','10contador');
pt_register('POST','comentarios');
$comentarios=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $comentarios);if($nombre=="" || $apellido=="" || $empresa=="" || $mail=="" || $telefono=="" || $contadorespertenecientesalmesde=="" || $01modelo=="" || $01contador=="" ){
$errors=1;
$error.="<li>You did not enter one or more of the required fields. Please go back and try again.";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$mail)){
$error.="<li>Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF) ,"/"));
$message="nombre: ".$nombre."
apellido: ".$apellido."
empresa: ".$empresa."
mail: ".$mail."
telefono: ".$telefono."
contadores pertenecientes al mes de: ".$contadorespertenecientesalmesde."
01 marca: ".$01marca."
01 modelo: ".$01modelo."
01 serie: ".$01serie."
01 contador: ".$01contador."
02 marca: ".$02marca."
02 modelo: ".$02modelo."
02 serie: ".$02serie."
02 contador: ".$02contador."
03 marca: ".$03marca."
03 modelo: ".$03modelo."
03 serie: ".$03serie."
03 contador: ".$03contador."
04 marca: ".$04marca."
04 modelo: ".$04modelo."
04 serie: ".$04serie."
04 contador: ".$04contador."
05 marca: ".$05marca."
05 modelo: ".$05modelo."
05 serie: ".$05serie."
05 contador: ".$05contador."
06 marca: ".$06marca."
06 modelo: ".$06modelo."
06 serie: ".$06serie."
06 contador: ".$06contador."
07 marca: ".$07marca."
07 modelo: ".$07modelo."
07 serie: ".$07serie."
07 contador: ".$07contador."
08 marca: ".$08marca."
08 modelo: ".$08modelo."
08 serie: ".$08serie."
08 contador: ".$08contador."
09 marca: ".$09marca."
09 modelo: ".$09modelo."
09 serie: ".$09serie."
09 contador: ".$09contador."
10 marca: ".$10marca."
10 modelo: ".$10modelo."
10 serie: ".$10serie."
10 contador: ".$10contador."
comentarios: ".$comentarios."
";
$message = stripslashes($message);
mail("[email protected]","Toma de Contadores",$message,"From: [email protected]");
$link = mysql_connect("localhost","am000409_edu","database ");
mysql_select_db("clientes_contadores",$link);
$query="insert into clientes_contadores (nombre,apellido,empresa,mail,telefono,contadores_ pertenecientes_al_mes_de,01_marca,01_modelo,01_ser ie,01_contador,02_marca,02_modelo,02_serie,02_cont ador,03_marca,03_modelo,03_serie,03_contador,04_ma rca,04_modelo,04_serie,04_contador,05_marca,05_mod elo,05_serie,05_contador,06_marca,06_modelo,06_ser ie,06_contador,07_marca,07_modelo,07_serie,07_cont ador,08_marca,08_modelo,08_serie,08_contador,09_ma rca,09_modelo,09_serie,09_contador,10_marca,10_mod elo,10_serie,10_contador,comentarios) values ('".$nombre."','".$apellido."','".$empresa."','".$ mail."','".$telefono."','".$contadorespertenecient esalmesde."','".$01marca."','".$01modelo."','".$01 serie."','".$01contador."','".$02marca."','".$02mo delo."','".$02serie."','".$02contador."','".$03mar ca."','".$03modelo."','".$03serie."','".$03contado r."','".$04marca."','".$04modelo."','".$04serie."' ,'".$04contador."','".$05marca."','".$05modelo."', '".$05serie."','".$05contador."','".$06marca."','" .$06modelo."','".$06serie."','".$06contador."','". $07marca."','".$07modelo."','".$07serie."','".$07c ontador."','".$08marca."','".$08modelo."','".$08se rie."','".$08contador."','".$09marca."','".$09mode lo."','".$09serie."','".$09contador."','".$10marca ."','".$10modelo."','".$10serie."','".$10contador. "','".$comentarios."')";
mysql_query($query);
$make=fopen("admin/data.dat","a");
$to_put="";
$to_put .= $nombre."|".$apellido."|".$empresa."|".$mail."|".$ telefono."|".$contadorespertenecientesalmesde."|". $01marca."|".$01modelo."|".$01serie."|".$01contado r."|".$02marca."|".$02modelo."|".$02serie."|".$02c ontador."|".$03marca."|".$03modelo."|".$03serie."| ".$03contador."|".$04marca."|".$04modelo."|".$04se rie."|".$04contador."|".$05marca."|".$05modelo."|" .$05serie."|".$05contador."|".$06marca."|".$06mode lo."|".$06serie."|".$06contador."|".$07marca."|".$ 07modelo."|".$07serie."|".$07contador."|".$08marca ."|".$08modelo."|".$08serie."|".$08contador."|".$0 9marca."|".$09modelo."|".$09serie."|".$09contador. "|".$10marca."|".$10modelo."|".$10serie."|".$10con tador."|".$comentarios."
";
fwrite($make,$to_put);
?>


<!-- This is the content of the Thank you page, be careful while changing it --><style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #CCCCCC;
}
body {
background-color: #000000;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
color: #FF9900;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
color: #FFFFFF;
}
a:active {
text-decoration: none;
}
-->
</style>

<h2 align="center">Thank you!</h2>

<table width=50% align="center">
<tr><td>nombre: </td><td> <?php echo $nombre; ?> </td></tr>
<tr><td>apellido: </td><td> <?php echo $apellido; ?> </td></tr>
<tr><td>empresa: </td><td> <?php echo $empresa; ?> </td></tr>
<tr><td>mail: </td><td> <?php echo $mail; ?> </td></tr>
<tr><td>telefono: </td><td> <?php echo $telefono; ?> </td></tr>
<tr><td>contadores pertenecientes al mes de: </td><td> <?php echo $contadorespertenecientesalmesde; ?> </td></tr>
<tr><td>01 marca: </td><td> <?php echo $01marca; ?> </td></tr>
<tr><td>01 modelo: </td><td> <?php echo $01modelo; ?> </td></tr>
<tr><td>01 serie: </td><td> <?php echo $01serie; ?> </td></tr>
<tr><td>01 contador: </td><td> <?php echo $01contador; ?> </td></tr>
<tr><td>02 marca: </td><td> <?php echo $02marca; ?> </td></tr>
<tr><td>02 modelo: </td><td> <?php echo $02modelo; ?> </td></tr>
<tr><td>02 serie: </td><td> <?php echo $02serie; ?> </td></tr>
<tr><td>02 contador: </td><td> <?php echo $02contador; ?> </td></tr>
<tr><td>03 marca: </td><td> <?php echo $03marca; ?> </td></tr>
<tr><td>03 modelo: </td><td> <?php echo $03modelo; ?> </td></tr>
<tr><td>03 serie: </td><td> <?php echo $03serie; ?> </td></tr>
<tr><td>03 contador: </td><td> <?php echo $03contador; ?> </td></tr>
<tr><td>04 marca: </td><td> <?php echo $04marca; ?> </td></tr>
<tr><td>04 modelo: </td><td> <?php echo $04modelo; ?> </td></tr>
<tr><td>04 serie: </td><td> <?php echo $04serie; ?> </td></tr>
<tr><td>04 contador: </td><td> <?php echo $04contador; ?> </td></tr>
<tr><td>05 marca: </td><td> <?php echo $05marca; ?> </td></tr>
<tr><td>05 modelo: </td><td> <?php echo $05modelo; ?> </td></tr>
<tr><td>05 serie: </td><td> <?php echo $05serie; ?> </td></tr>
<tr><td>05 contador: </td><td> <?php echo $05contador; ?> </td></tr>
<tr><td>06 marca: </td><td> <?php echo $06marca; ?> </td></tr>
<tr><td>06 modelo: </td><td> <?php echo $06modelo; ?> </td></tr>
<tr><td>06 serie: </td><td> <?php echo $06serie; ?> </td></tr>
<tr><td>06 contador: </td><td> <?php echo $06contador; ?> </td></tr>
<tr><td>07 marca: </td><td> <?php echo $07marca; ?> </td></tr>
<tr><td>07 modelo: </td><td> <?php echo $07modelo; ?> </td></tr>
<tr><td>07 serie: </td><td> <?php echo $07serie; ?> </td></tr>
<tr><td>07 contador: </td><td> <?php echo $07contador; ?> </td></tr>
<tr><td>08 marca: </td><td> <?php echo $08marca; ?> </td></tr>
<tr><td>08 modelo: </td><td> <?php echo $08modelo; ?> </td></tr>
<tr><td>08 serie: </td><td> <?php echo $08serie; ?> </td></tr>
<tr><td>08 contador: </td><td> <?php echo $08contador; ?> </td></tr>
<tr><td>09 marca: </td><td> <?php echo $09marca; ?> </td></tr>
<tr><td>09 modelo: </td><td> <?php echo $09modelo; ?> </td></tr>
<tr><td>09 serie: </td><td> <?php echo $09serie; ?> </td></tr>
<tr><td>09 contador: </td><td> <?php echo $09contador; ?> </td></tr>
<tr><td>10 marca: </td><td> <?php echo $10marca; ?> </td></tr>
<tr><td>10 modelo: </td><td> <?php echo $10modelo; ?> </td></tr>
<tr><td>10 serie: </td><td> <?php echo $10serie; ?> </td></tr>
<tr><td>10 contador: </td><td> <?php echo $10contador; ?> </td></tr>
<tr><td>comentarios: </td><td> <?php echo $comentarios; ?> </td></tr>
</table>
<!-- Do not change anything below this line -->

<?php
}
?>

Última edición por elduke; 04/08/2008 a las 09:30
  #7 (permalink)  
Antiguo 04/08/2008, 09:30
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

El error está en esta línea (con un buen editor de textos podrás ir sin neceisdad de contar xD te ayudará a cambiarlo):

Código:
$comentarios=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $comentarios);if($nombre=="" || $apellido=="" || $empresa=="" || $mail=="" || $telefono=="" || $contadorespertenecientesalmesde=="" || $01modelo=="" || $01contador=="" )
Debería ser algo como:
Código:
$comentarios=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $comentarios);if($nombre=="" || $apellido=="" || $empresa=="" || $mail=="" || $telefono=="" || $contadorespertenecientesalmesde=="" || $unmodelo=="" || $uncontador=="" )
He cambiado $01modelo por $unmodelo y $01contador por $uncontador.

Deberías sustituir en todo el código dónde aparecen esas variables por estas nuevas, aunque no estoy seguro de que te vaya a funcionar, puede que el error se haya repetido en más ficheros.

La cuestión en definitiva es que una variable no puede empezar por un número (todo lo que es $algo es una variable en general).

Aunque puede que haya alguna opción que permita que las variables empiecen por números, no lo sé, pero si existe en este caso sería mejor que se habilitara eso XD
  #8 (permalink)  
Antiguo 04/08/2008, 09:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

Mort20, gracias por tu aporte. Vere entonces de cambiarlo en cada lugar que suceda, pero...

lo curioso es que apenas genere el formulario, funciono perfecto. Y no he tocado este tema del 01 en ningun momento como para que genere este error.

Si pudiste ver el formulario en la web, habras notado que cada campo a llenar tiene un nombre como 01marca o 01modelo...
Si cambio lo que me indicas en el process.php lograra enlazar la info con lo cargado en el formulario ?
pregunto desde mi ignorancia, claro esta.
  #9 (permalink)  
Antiguo 04/08/2008, 09:50
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

No, en principio no deberías tener ningún problema por eso. Eso si, importante señalar que no te olvides que debe tener el $ xD Si no sí que puede que cambies algo que no toca.

Pero las variables del formulario ya te las ha cogido una vez - el error lo genera más abajo de dónde recoge esas variables - así que en ese punto no hay problema.

Lo que sí estoy viendo ahora mismo es que hay otras variables con el mismo problema, lo que me hace pensar que quizás sí existe una opción que permita poner variables empezadas por números, porque si no o su creador no probó el código, o no sé porque no le falló.

Estoy escribiendo el post a medida que voy mirándome el tema XDDD
Se me ocurre que, como sin esa opción el error te va a aparecer en todas las otras variables... y viendo como está programado... prueba a sustuir $01contador y demás variables del estilo por $_POST['01contador'] en vez de lo que dije antes.
Así creo que debería funcionar sin problemas y te ahorras quebraderos de cabeza.

Es decir $_POST['nombrevariable'] dónde nombrevariable es el nombre sin el $.

No se si me he explicado muy bien xDDDD

En todo caso antes de sustituirlo todo prueba esas dos del principio haber si el error ya te lo da en una línea posterior. Si es así entonces ya procede a sustituir de esta forma todo lo demás.
  #10 (permalink)  
Antiguo 04/08/2008, 10:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

De verdad, agradezco tus aportes Mort20.

Antes de recibir esta ultima respuesta tuya, estaba testeando el cambio como mencionaste anteriormente: unmarca - unmodelo, etc y al probarlo, tiro error en la primer linea posterior que tenia la sintaxis del $01.
Asi que estaba cambiando eso en todo lo que parece afectar.

Menudo trabajo.

ya te dire como sale.

Muchas gracias nuevamente.
saludos.
  #11 (permalink)  
Antiguo 05/08/2008, 08:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

Mort20, te cuento que funciono la primer opcion que me sugeriste, la de colocar "unmodelo" "dosmodelo", etc.

Ahora surge otro inconveniente que consulto a ti o a quien pueda ayudar:

Este form esta enlazado a una base de datos de php, que como mencione anteriormente, se creo de manera automatica por ser una aplicacion autoinstalable, debido a que desconozco del tema.

Me encuentro que los datos que ingreso al form y que el process.php me muestra posteriormente, por alguna razon no llegan a cargarse a dicha base de datos.
Diganme si hay alguna forma de que pueda pasarles algun codigo o algo que les permita evaluar el problema, ya que para mi es como chino.

agradezco a quein pueda ayudarme.

saludos
elduke
  #12 (permalink)  
Antiguo 05/08/2008, 09:14
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

Tienes bien puesto el usuario/contraseña de la base de datos así como su nombre??
Esto es, en estas líneas:
Código PHP:
<?php
$link 
mysql_connect("localhost","am000409_edu","database ");
mysql_select_db("clientes_contadores",$link);
?>
am000409_edu es el nombre de tu usuario en la base de datos MySQL y database es la contraseña de este usuario.
clientes_contadores es el nombre de la base de datos que debe contener las tablas usadas. Verifica que lo que pongas en tu archivo sea lo correcto.
Que decir tiene que toda la estructura de la BD tiene que estar montada, supongo que MySQL si sabes aglo para montar todo eso, y si no mirate la aplicación que debe llevar algún tipo de estructura para crearla si es para gente que no tenga ni idea.

Por otro lado este código no genera errores por base de datos, puedes sustituir esas líneas por estas para verificar que las conexiones a la base de datos vayan bien:

Código PHP:
<?php
$link 
mysql_connect("localhost","am000409_edu","database ");
  
$link or die('Se ha producido el siguiente error al establecer conexion con MySQL: ' mysql_error());
$sql mysql_select_db("clientes_contadores",$link);
  
$sql or die('Se ha producido el siguiente error al conectar a la base de datos: ' mysql_error());
?>
Si hay algún error con el nombre de la BD o usuario/contraseña esto te lo advertirá.
__________________
Un Lannister siempre cumple sus promesas
  #13 (permalink)  
Antiguo 05/08/2008, 09:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

Mort20, nuevamente gracias !
he testeado todo y efectivamente, da error de conexion:
Se ha producido el siguiente error al conectar a la base de datos: Access denied for user 'am000409_count'@'localhost' to database 'clientes_contadores'

pero todo lo ingresado es correcto, de hecho, en la misma aplicacion indica que el modo de conectarse en el codigo debe ser asi:
$link=mysql_connect("localhost","am000409_edu","da tabase");
mysql_select_db("am000409_clientes_contadores");

entonces no se que puede estar sucediendo.
te paso el codigo php nuevamente por si encuentras algo, debido a que cambie aquellas cosas que me indicaste:

<?php
include("global.inc.php");
$errors=0;
$error="Ocurrio un error al procesar la info.<ul>";
pt_register('POST','nombre');
pt_register('POST','apellido');
pt_register('POST','empresa');
pt_register('POST','mail');
pt_register('POST','telefono');
pt_register('POST','contadorespertenecientesalmesd e');
pt_register('POST','01marca');
pt_register('POST','01modelo');
pt_register('POST','01serie');
pt_register('POST','01contador');
pt_register('POST','02marca');
pt_register('POST','02modelo');
pt_register('POST','02serie');
pt_register('POST','02contador');
pt_register('POST','03marca');
pt_register('POST','03modelo');
pt_register('POST','03serie');
pt_register('POST','03contador');
pt_register('POST','04marca');
pt_register('POST','04modelo');
pt_register('POST','04serie');
pt_register('POST','04contador');
pt_register('POST','05marca');
pt_register('POST','05modelo');
pt_register('POST','05serie');
pt_register('POST','05contador');
pt_register('POST','06marca');
pt_register('POST','06modelo');
pt_register('POST','06serie');
pt_register('POST','06contador');
pt_register('POST','07marca');
pt_register('POST','07modelo');
pt_register('POST','07serie');
pt_register('POST','07contador');
pt_register('POST','08marca');
pt_register('POST','08modelo');
pt_register('POST','08serie');
pt_register('POST','08contador');
pt_register('POST','09marca');
pt_register('POST','09modelo');
pt_register('POST','09serie');
pt_register('POST','09contador');
pt_register('POST','10marca');
pt_register('POST','10modelo');
pt_register('POST','10serie');
pt_register('POST','10contador');
pt_register('POST','comentarios');
$comentarios=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $comentarios);if($nombre=="" || $apellido=="" || $empresa=="" || $mail=="" || $telefono=="" || $contadorespertenecientesalmesde=="" ){
$errors=1;
$error.="<li>Olvidaste completar alguno de los campos requeridos. Por favor, chequealos. Muchas gracias.";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$mail)){
$error.="<li>Direccion de correo no valida";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF) ,"/"));
$message="nombre: ".$nombre."
apellido: ".$apellido."
empresa: ".$empresa."
mail: ".$mail."
telefono: ".$telefono."
contadores pertenecientes al mes de: ".$contadorespertenecientesalmesde."
01 marca: ".$unmarca."
01 modelo: ".$unmodelo."
01 serie: ".$unserie."
01 contador: ".$uncontador."
02 marca: ".$dosmarca."
02 modelo: ".$dosmodelo."
02 serie: ".$dosserie."
02 contador: ".$doscontador."
03 marca: ".$tresmarca."
03 modelo: ".$tresmodelo."
03 serie: ".$tresserie."
03 contador: ".$trescontador."
04 marca: ".$cuatromarca."
04 modelo: ".$cuatromodelo."
04 serie: ".$cuatroserie."
04 contador: ".$cuatrocontador."
05 marca: ".$cincomarca."
05 modelo: ".$cincomodelo."
05 serie: ".$cincoserie."
05 contador: ".$cincocontador."
06 marca: ".$seismarca."
06 modelo: ".$seismodelo."
06 serie: ".$seisserie."
06 contador: ".$seiscontador."
07 marca: ".$sietemarca."
07 modelo: ".$sietemodelo."
07 serie: ".$sieteserie."
07 contador: ".$sietecontador."
08 marca: ".$ochomarca."
08 modelo: ".$ochomodelo."
08 serie: ".$ochoserie."
08 contador: ".$ochocontador."
09 marca: ".$nuevemarca."
09 modelo: ".$nuevemodelo."
09 serie: ".$nueveserie."
09 contador: ".$nuevecontador."
10 marca: ".$diezmarca."
10 modelo: ".$diezmodelo."
10 serie: ".$diezserie."
10 contador: ".$diezcontador."
comentarios: ".$comentarios."
";
$message = stripslashes($message);
mail("[email protected]","Toma de contadores",$message,"From: [email protected]");
$link = mysql_connect("localhost","am000409_edu","database ");
$link or die('Se ha producido el siguiente error al establecer conexion con MySQL: ' . mysql_error());
$sql = mysql_select_db("clientes_contadores");
$sql or die('Se ha producido el siguiente error al conectar a la base de datos: ' . mysql_error());
?>
$query="insert into clientes_contadores (nombre,apellido,empresa,mail,telefono,contadores_ pertenecientes_al_mes_de,01_marca,01_modelo,01_ser ie,01_contador,02_marca,02_modelo,02_serie,02_cont ador,03_marca,03_modelo,03_serie,03_contador,04_ma rca,04_modelo,04_serie,04_contador,05_marca,05_mod elo,05_serie,05_contador,06_marca,06_modelo,06_ser ie,06_contador,07_marca,07_modelo,07_serie,07_cont ador,08_marca,08_modelo,08_serie,08_contador,09_ma rca,09_modelo,09_serie,09_contador,10_marca,10_mod elo,10_serie,10_contador,comentarios) values ('".$nombre."','".$apellido."','".$empresa."','".$ mail."','".$telefono."','".$contadorespertenecient esalmesde."','".$unmarca."','".$unmodelo."','".$un serie."','".$uncontador."','".$dosmarca."','".$dos modelo."','".$dosserie."','".$doscontador."','".$t resmarca."','".$tresmodelo."','".$tresserie."','". $trescontador."','".$cuatromarca."','".$cuatromode lo."','".$cuatroserie."','".$cuatrocontador."','". $cincomarca."','".$cincomodelo."','".$cincoserie." ','".$cincocontador."','".$seismarca."','".$seismo delo."','".$seisserie."','".$seiscontador."','".$s ietemarca."','".$sietemodelo."','".$sieteserie."', '".$sietecontador."','".$ochomarca."','".$ochomode lo."','".$ochoserie."','".$ochocontador."','".$nue vemarca."','".$nuevemodelo."','".$nueveserie."','" .$nuevecontador."','".$diezmarca."','".$diezmodelo ."','".$diezserie."','".$diezcontador."','".$comen tarios."')";
mysql_query($query);
$make=fopen("admin/data.dat","a");
$to_put="";
$to_put .= $nombre."|".$apellido."|".$empresa."|".$mail."|".$ telefono."|".$contadorespertenecientesalmesde."|". $unmarca."','".$unmodelo."','".$unserie."','".$unc ontador."','".$dosmarca."','".$dosmodelo."','".$do sserie."','".$doscontador."','".$tresmarca."','".$ tresmodelo."','".$tresserie."','".$trescontador."' ,'".$cuatromarca."','".$cuatromodelo."','".$cuatro serie."','".$cuatrocontador."','".$cincomarca."',' ".$cincomodelo."','".$cincoserie."','".$cincoconta dor."','".$seismarca."','".$seismodelo."','".$seis serie."','".$seiscontador."','".$sietemarca."','". $sietemodelo."','".$sieteserie."','".$sietecontado r."','".$ochomarca."','".$ochomodelo."','".$ochose rie."','".$ochocontador."','".$nuevemarca."','".$n uevemodelo."','".$nueveserie."','".$nuevecontador. "','".$diezmarca."','".$diezmodelo."','".$diezseri e."','".$diezcontador."|".$comentarios."
";
fwrite($make,$to_put);
?>
  #14 (permalink)  
Antiguo 05/08/2008, 11:03
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Formulario enlazado a base de datos

Estas mezclando conceptos, una cosa es PHP y otra MySQL.
Este código PHP enlaza con el MySQL y además si éste último tiene algún error para hacer las cosas te lo advierte, como es el caso.
Y lo que te está diciendo es que o el usuario am00... no existe, o que has introducido una contraseña errónea. Pero en MySQL.

¿Creaste la base de datos? ¿Creaste sus tablas? Ahí está el quid de la cuestión. Esto o lo tiene sen tu aplicación pre-fabricada o deberás leerte un manual de MySQL y algo de PHP para saber como hacerlo.

Y por cierto, veo que al final sustituiste las variables por $unmodelo y no por $_POST['01modelo'] como te dije, y es que la primera forma que dije era errónea ya que no tube en cuenta que esas variables venían de post. No sé si recibiste el mensaje privado que te envíe que te sustituía todo el archivo original por lo adecuado, pero te lo pongo por aquí:

Cita:
Iniciado por Mort20
[...]Instrucciones:
1- Copiar el archivo con el código en otro archivo, esto es porque este nuevo requiere que tenga permisos 777 (lectura/escritura/ejecución para todos).
2- Crear un archivo en blanco llamado result.php (o otro nombre, el que quieras, pero luego cmabialo en el script del paso 3) y también darle permisos 777.
3- En otro archivo, poner este script en el mismo directorio que los otros 2 y ejecutarlo:
Código PHP:
<?php
  $resource 
fopen("prova.php","r");
  
$resource or die('Error al abrir archivo');

    
$result fread($resource,filesize('prova.php'));
    
$result or die('Error al leer archivo');

     
$result preg_replace('~\$([0-9])([0-9a-zA-Z]+)?~','$_POST[\'$1$2\']',$result);

  
fclose($resource) or die('error al cerrar');


  
$resource =  fopen("result.php","w");
  
fwrite($resource,$result);
  
fclose($resource);

echo 
'Su traducci&oacute;n ha sido guardada en result.php';
?>
prova.php sería el archivo creado en el paso 1. result.php el creado en el paso 2.

En result.php, como se imprime, tienes el resultado.

NOTA: no uses este script para cualquier archivo que tengas que hacer algo parecido. Lo he echo reescribiendolo a lo bestia a sabiendas que el tamaño del archivo a traducir no superaba los 10.000 bytes, y aún así no es que sea una práctica correcta. Si quieres otra cosa parecida dímelo y lo traduzco a algo realmente correcto ;)
He retocado además la expresión regular original para asegurarme que funciona como debe. El archivo debe ser el original (el del primer código), aunque si quieres también puedes añadir lo de los errores MySQL.
Pero señalar de nuevo que esto es distinto de lo que te pasa ahora, sólo es porque sin esto tampoco te funcionaría el tema aunque sí se conectase y trabajase con la BD.
__________________
Un Lannister siempre cumple sus promesas
  #15 (permalink)  
Antiguo 06/08/2008, 08:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Formulario enlazado a base de datos

Mort20: menudo trabajo te tomaste para ayudarme. Muchas gracias por ello.

En vistas de que estuve emparchando codigo (lo cual no entiendo) y viendo que seguia sin funcionar (evidentemente por mi desconocimiento total del tema) tome la sana decision de comenzarlo desde el principio... un nuevo form chequeando todo con la BD desde cero...

Me quede hasta las 6 AM, aqui en argentina... y que crees ? FUNCIONAAAAAAAAAAA !!!
asi que no te torturare mas con preguntas algo bestiales desde mi parte (por ahora)
En cuanto algo funcione mal, te pegare un grito de ayuda.

Muchas gracias por tu predisposicion hacia mis inquietudes y por brindarme solo soluciones.

un abrazo desde aqui.
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 03:01.