Foros del Web » Programando para Internet » PHP »

No reconoce el codigo <?php ... ?>

Estas en el tema de No reconoce el codigo <?php ... ?> en el foro de PHP en Foros del Web. Gracias de antemano por su ayuda estoy empezando con PHP, y tengo problemas con el codigo para insertar registros en la base de datos,solo que ...
  #1 (permalink)  
Antiguo 18/04/2006, 19:34
 
Fecha de Ingreso: diciembre-2004
Ubicación: Morelia,Michoacan,México
Mensajes: 22
Antigüedad: 19 años, 3 meses
Puntos: 0
No reconoce el codigo <?php ... ?>

Gracias de antemano por su ayuda estoy empezando con PHP, y tengo problemas con el codigo para insertar registros en la base de datos,solo que este codigo debe insertar los datos segun corresponda en la tabla, que se elije de un menu desplegable en el formulario. Si alguno de ustedes me pudiera orientar sobre lo que estoy haciendo mal o un buen manual .....Esta pagina con extension .php, que es la hoja del ACTION del formulario, no quiere reconocer el codigo PHP, me marca error en la linea justo donde comienza la etiqueta <?php

Código:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
 mysql_connect("localhost","root",""); 
 mysql_select_db("morelia"); 
$table = '';
if ($_POST['Agencia de viajes'] == 1){ 
     $table = "agencia de viajes";
} else if ($_POST['Alarmas'] == 2){
     $table = "alarmas";
} else if ($_POST['Artes marciales'] == 3 {
     $table = "artes marciales"; .........
} else if ($_POST['Video filmaciones'] == 52 {
      $table = "video filmaciones";	
} else if ($_POST['Vidrio'] == 53 {
      $table = "vidrio";	
} else if ($_POST['Zapaterias'] == 54 {
      $table = "zapaterias";  	
}	  
mysql_query ("INSERT INTO ". $table ."(nombre,calle y num,colonia,tel,fax,mail,url_web,url_logo) values ("nombre","callenum","colonia","tel","fax","correo","urlweb")");
?>
<h1><div align="center">Registro Insertado</div></h1>
</body>
</html>

Gracias por sus consejos,

slaudos ....
  #2 (permalink)  
Antiguo 18/04/2006, 19:41
Tew
 
Fecha de Ingreso: enero-2006
Mensajes: 1.562
Antigüedad: 18 años, 3 meses
Puntos: 17
Yo no se mucho de esto, pero nunca puse php despues de la etiketa de apertura <?.
  #3 (permalink)  
Antiguo 18/04/2006, 20:06
 
Fecha de Ingreso: enero-2004
Mensajes: 95
Antigüedad: 20 años, 3 meses
Puntos: 1
¿Podrías poner que error te da exactamente?
__________________
Guarda tus configuration files
  #4 (permalink)  
Antiguo 18/04/2006, 20:12
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
no te reconoce el codigo php o el codigo te da error? si te da error: que error te da?
POr otro lado veo que usas espacios en algunos nombres de tablas y eso creo que puede no ser correcto.
__________________
oohh... quisiera ser godines!!!
  #5 (permalink)  
Antiguo 18/04/2006, 20:23
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Si te marca un error es porque sí te reconoces las etiquetas, si no, ¿quién te está mandando el error?

Debe ser tu código más bien el que está mal, por ejemplo, algunos errores que veo así de un vistazo (podría haber más, claro):

El nombre de la tabla de la bases de datos que usas, como veo, varía según lo que te llegue de por POST, pero veo que algunas tienen espacios como "artes marciales" y eso sí que es extraño. Igual para los atributos: "calle y num" ?

Al momento de generar tu string para pasárselo a la función mysql_query(), estás usando:

values ("nombre","callenum","colonia","tel","fax","correo ","urlweb")");

Pero tienes que, primero, escapar las comillas internas a el string del select, o bien no las escapes, pero utiliza comillas simples adentro. Además de que lo que estás haciendo ahí es meter puro texto, no variables. Esto a la mejor lo hiciste intencionalmente para probar que se insertaran estos strings y luego ya los cambias por variables, pero si no fue intencional, chécalo.

Te recomiendo que antes de generar la consulta valides que $table tiene cierto valor, así, si alguien ingresa a ese script vía URL, no se generaría una consulta que diga:

INSERT INTO vacío(nombre, calle,...

Suerte.
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #6 (permalink)  
Antiguo 19/04/2006, 16:47
 
Fecha de Ingreso: diciembre-2004
Ubicación: Morelia,Michoacan,México
Mensajes: 22
Antigüedad: 19 años, 3 meses
Puntos: 0
GRACIAS POR SUS RESPUESTAS HE ESTADO CHECANDO MI CODIGO ELIMINE LOS ESPACIOS QUE POR AHI MENCIONAN, Y TAMBIEN CAMBIAR DE COMILLAS A COMILLAS SIMPLES, PERO CONTINUO CON EL MISMO ERROR DEL EXPLORADOR QUE ES SAFARI DE MAC :
Cita:
Parse error: parse error in /Library/WebServer/Documents/morelia/procesa_regiscom.php on line 8
  #7 (permalink)  
Antiguo 19/04/2006, 17:19
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 21 años, 10 meses
Puntos: 22
Faltaban unos cuántos paréntesis
Además la consulta sql, tal y como ha dicho uamistad, no parece correcta.
En lugar de esto:

values ('nombre','callenum','colonia','tel','fax','correo ','urlweb')


Supongo que lo que quieres es insertar datos entrados mediante un formulario, por lo que debes usar variables para poder realizar la inserción:

values ('$nombre','$callenum','$colonia','$tel','$fax','$ correo','$urlweb')


Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
 mysql_connect
("localhost","root",""); 
 
mysql_select_db("morelia"); 
$table '';
if (
$_POST['Agencia de viajes'] == 1){ 
     
$table "agencia de viajes";
} else if (
$_POST['Alarmas'] == 2){
     
$table "alarmas";
} else if (
$_POST['Artes marciales'] == /*faltaba este paréntesis*/ ) {
     
$table "artes marciales"// esto que es >> .........
} else if ($_POST['Video filmaciones'/*faltaba este paréntesis*/ ) == 52 {
      
$table "video filmaciones";    
} else if (
$_POST['Vidrio'] == 53 /*faltaba este paréntesis*/ ) {
      
$table "vidrio";    
} else if (
$_POST['Zapaterias'] == 54 /*faltaba este paréntesis*/ ) {
      
$table "zapaterias";      
}      
mysql_query ("INSERT INTO '$table' (nombre,calle y num,colonia,tel,fax,mail,url_web,url_logo) values ('nombre','callenum','colonia','tel','fax','correo','urlweb')");
?>
<h1><div align="center">Registro Insertado</div></h1>
</body>
</html>
Espero te sirva de ayuda
  #8 (permalink)  
Antiguo 19/04/2006, 17:40
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Exclamación

Código PHP:
<?php
 $coneccion
=mysql_connect("localhost","root","");
 
 if( !
$coneccion )
 {
       echo
"error en el servidor".mysql_error();
       exit;
 }
 
$sel_db=mysql_select_db("morelia",$coneccion);

 if( !
$sel_db )
 {
       echo
"error al seleccionar la bd".mysql_error();
       exit;
 }

 
$table ="";

if (
$_POST['Agencia de viajes'] == 1){ 
     
$table "agencia de viajes";
} else if (
$_POST['Alarmas'] == 2){
     
$table "alarmas";
} else if (
$_POST['Artes marciales'] == {
     
$table "artes marciales"; .........
} else if (
$_POST['Video filmaciones'] == 52 {
      
$table "video filmaciones";    
} else if (
$_POST['Vidrio'] == 53 {
      
$table "vidrio";    
} else if (
$_POST['Zapaterias'] == 54 {
      
$table "zapaterias";      
}      
$cons_bd=mysql_query ("INSERT INTO ".$table." (nombre,calle y num,colonia,tel,fax,mail,url_web,url_logo) values ('nombre','callenum','colonia','tel','fax','correo','urlweb')");

if( !
cons_bd )
{
     echo
"error en la consulta".mysql_error();
     exit;
}

$msg="registro insertado";
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>

<h1><div align="center"> <?php echo $msg ?> </div></h1>
</body>
</html>

okei mira este es un ejemplito sencillito. primero ejecuta el codigo php en la parte de arriba.... separa la inyterfaz de la logica...... el script que te puse no lo eh corrido, pero debe ejecutarse sin ningun problema, si puse algun caracter de mas disculpen, pero andaba a prisa, siempre revisa los errores geberados por cualkier problema. antes de la etiqueta <?php recomendable que no haya un espacio en blanco...

y para nombres de variables y funciones, en ves de espacio en blanco, para separarlas usa guien bajo "_"... saludos.
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
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 16:14.