Problema con formulario y Mysql

Pues miren, he realizado al pie de la letra el curso y ya cuando probe el formulario y le doy en el botón para que se envie a la base de datos me sale un error:

Parse error: syntax error, unexpected T_STRING in /www/clanteam.com/e/l/p/elpumahalomachinima/htdocs/insertardatosentabla.php on line 2

El código del formulario es este (es el que hice con los cursos de jorgens):
<!-- FORMULARIO PARA LA BASE DE DATOS -->
<form method="post" action="insertardatosentabla.php">
<input type="text" name="NOMBRE" value="Escribe tu nombre" size=30 maxlength=50><br />
<input type="text" name="EMAIL" value="tuemail@correcto" size=30 maxlength=50><br />
<input type="text" name="URL" value="http://www.tudirecciondepagina.web" size=30 maxlength=50><br />
<input type="hidden" name="ESTADO" value="Activo" />
<input type="SUBMIT" value="Botón de envio estandar" name="Enviar la información al servidor"><br />
<?php
// leer datos de usuario y contraseña de la base de datos
include("config.php") ;
// Conexión con el servidor
mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
// Selección de Base de Datos
mysql_select_db($database) or die ("error2".mysql_error());
?>
</form>

Y el que es para insertar los datos es este (igual lo hice con los cursos):
<?php
INSERT INTO `elpumahalomachinima_clanteam_basedatos`.`USUARIOS` (`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST');
?>

¿Qué hago? :shock:
Hola, lo que pasa es que, primero que nada, en el archivo insertardatosentabla.php es donde debe ir la conexión a la base de datos (al menos hasta más adelante, cuando sepas más de php), o sea, debe quedar así:

insertardatosentabla.php
<?php
  include("config.php");
  $conexion = mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
  mysql_select_db($database, $conexion);
  
  /* ESTO ESTA MAL -----> INSERT INTO `elpumahalomachinima_clanteam_basedatos`.`USUARIOS ` (`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST[NOMBRE]', '$_POST[EMAIL]', '$_POST[URL]', '$_POST[ESTADO]'); */

  // Lo siguiente está bien:
  $resultado = mysql_query("INSERT INTO usuarios (nombre, email, url, estado) VALUES ('" .$_POST['NOMBRE']. "', '" .$_POST['EMAIL']. "', '" .$_POST['URL']. "', '" .$_POST['ESTADO']. "')");
  /* Si se selecciona la base de datos con mysql_select_db() no es necesario escribir nombre_base_datos.tabla (en tu caso elpumahalomachinima_clanteam_basedatos.usuarios, no es necesario, basta con usuarios) */
  
  if(mysql_affected_rows($resultado) >= 1) // pregunta si hubieron filas afectadas y, si lo hay y son una o más, entonces hará lo siguiente:
    print "Usuario registrado satisfactoriamente"; // print muestra el mensaje que esta entre comillas.
  else
    print "ERROR al registrar usuario";

PHP distingue entre mayúsculas y minúsculas por lo que escribir MYSQL es distinto a mysql, distinto a MySQL y distinto a cualquier variante de la palabra. Por lo tanto, si tu escribes $_POST['NOMBRE'] y el campo en el formulario se llamaba nombre (con minúsculas) PHP no lo encontrará (ocurrirá un error). Al insertar y extraer datos en MySQL, también debes tener cuidado con las minúsculas, aunque depende del tipo de comparación utilizada en MySQL (aunque para no complicarse, mejor escribe las cosas tal cual aparecen en base de datos).

Por último, si la información de las tablas sí estaba en mayúsculas en la base de datos, entonces tendrás que cambiarla XD... lo siento, pero no sé cómo están escritas en tu base de datos :D.
hola:

A mi tambien me resolvio el anterior pero ahora me sale uno nuevo

Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given in /home/faseu/public_html/insertardatos.php on line 15
ERROR al registrar usuario
<html>
<body>


<?php
include("config.php") ;

mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());

mysql_select_db($database) or die ("error2".mysql_error());

$resultado = mysql_query("INSERT INTO usuarios (NOMBRE,APELLIDOS) VALUES ('" .$_POST['nombre']. "', '" .$_POST['apellidos']. "' )");

if(mysql_affected_rows($resultado) >= 1)

print "Usuario registrado satisfactoriamente";
else
print "ERROR al registrar usuario";
?>
</body>
</html>

Gracias si me podeis ayudar me estoy vollviendo tarumba con esto de insertar informacion a la base datos
Hola, el error dice que el parámetro pasado a la función mysql_affected_rows() debe ser un recurso, por lo que el error debe estar en la línea donde se ejecuta la consulta, en este caso es: $resultado = mysql_query("INSERT INTO usuarios (NOMBRE, APELLIDOS) VALUES ('" .$_POST['nombre']. "', '" .$_POST['apellidos']. "')");.

Para solucionarlo debes asegurarte que la sentencia esta bien, o sea, asegurarte que NOMBRE y APELLIDOS sean columnas válidas dentro de MySQL, asegurarte que $_POST['nombre'] y $_POST['apellidos'] sean exactamente iguales a los name de los input en el formulario de ingreso.

Si estas seguro de que estan bien, entonces asegúrate de que la conexión con la base de datos se concretó. Para asegurarte, cambia la línea mysql_connect... por:

$con = mysql_connect($server, $db_user, $db_pass);

if($con)
print "<p style="color: blue;">Conexion establecida</p>";
else
print "<p style="color: red;">Error al intentar conectarse a la base de datos.</p>";

mysql_select_db($database, $con) or die ("error2".mysql_error());

Espero que te sirva.

Saludos.
Hola skaparate! Muchisimas gracias por tu ayuda, a mi también me sirvió mucho ya que en el curso de Jorgens no dice como enlazar el archivo principal con el codigo.php y el insertardatosentabla.php. Hice exactamente lo que pusiste y ya lo subi a mi servidor pero a la hora de poner "enviar formulario" me envía a la clásica pagina de internet explorer que dice "El sitio no puede mostrar la página". Inserto el código de mis 2 archivos para saber que estoy haciendo mal. Graciaaaaas!!!! y saludos desde México [:D]

ARCHIVO DEL FORMULARIO

<html>
<head>
<title>Mi quinta pagina con php</title>
</head>
<body>
<h1>Mi quinto ejemplo PHP</h1>
<p>Este es mi quinto ejemplo con partes de php</p>
<form method="post" action="insertardatosentabla.php">
	<input type="text" name="NOMBRE" value="Escribe tu nombre" size=30 maxlength=50 /></br>
	<input type="text" name="EMAIL" value="[correo eliminado]" size=30 maxlength=50 /></br>
	<input type="text" name="URL" value="http://www.tudirecciondepagina.web" size=30 maxlength=50 /></br>
	<input type="hidden" name="ESTADO" value="Activo" />
  <input type="submit" value="Botón de envío estándar" name="Enviar la información al servidor" /></br>
<?php
include("config.php");
mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
mysql_select_db($database) or die ("error2".mysql_error());
?> 
</form>
</body>
</html>


ARCHIVO insertardatosentabla.php
<?php 
// leer datos de usuario y contraseña de la base de datos
include("codigo.php");
// Conexión con el servidor
mysql_connect($database) or die ("error 1".mysql_error());
// Selección de Base de Datos
mysql_select_db($database) or die ("error 2".mysql_error());
INSERT INTO 'base_de_pruebas'.'USUARIOS' ('NOMBRE','EMAIL','URL','ESTADO') VALUES ('$_POST[NOMBRE]','$_POST[EMAIL]','$_POST[URL]','$_POST[ESTADO]'); 
?> 

Solo quiero aclarar que todos los textos que introduje en la tabla en phpMyAdmin están en mayúsculas incluyendo su nombre tal y como dice en el curso de php. Ojalá me puedan ayudar!
@im_lettisha: estas algo confundida. El código que insertaste al final del archivo que contiene el formulario es el que debe ir al comienzo del archivo insertardatosentabla.php. Me gustaría que analizaras la lógica de lo que has escrito. Los pasos para extraer o insertar datos en una base de datos (cualquiera sea) es:

1.- Conectarse con el servidor de base de datos. En el caso de MySQL, lo primero que se debe hacer es mysql_connect('dominio', 'nombre de usuario', 'contraseña base datos');, donde dominio es el dominio (lógico XD), nombre de usuario es el nombre que se utiliza para conectarse a la base de datos (no es el nombre de usuario FTP o el que se utiliza para entrar al panel de control del servidor) y la contrseña es la que se utiliza para conectarse a la base de datos.
2.- Opcionalmente se puede seleccionar la base de datos con mysql_select_db('nombre base datos', [identificador_conexion]);, donde el identificador es opcional. La selección de la base de datos afecta cómo se ejecutan las consultas (si quieres más ayuda respecto al tema avisa).
3.- Ahora sí se puede mandar la consulta a la base de datos con mysql_query('consulta SQL'); (SQL - Structured Query Language - es un lenguaje común para las bases de datos, aunque cada base de datos añade características a cada una).
4.- Procesar los datos extraídos o el resultado de la inserción.

Ahora, si bien tu haces eso en el archivo insertar....php revisa la conexión a la base de datos y la consulta (de hecho, no existe tal consulta :D). La consulta debe ser una cadena de texto (string).

Saludos.
Yo tambien tenia el mismo problema que Giovannizealot y tambien me funcionó la solución, pero ahora tengo otro problema. El formulario envia los datos a la base y la base lo detecta pero los campos estan vacios, el unico que se rellena es el de ID... hay alguna razon parabque suceda esto?:cry:
Hola skaparate! Disculpa por la demora... Muchísimas gracias por tu respuesta. Así como lo explicas suena mucho más fácil y entendible jejeje lo haré y si tengo alguna otra duda ten por seguro que te estaré molestando ;) jejejeje otra cosa, donde puedo encontrar más información sobre el tema del punto 2? Una vez más muchas gracias y que tengas un lindo dia! Un saludo desde México!
@im_lettisha: el mejor lugar donde encontrar información es, y será siempre, el manual de PHP (o el de MySQL). Si quieres ayuda sobre las funciones referentes al uso de MySQL, entonces esta sección del manual te puede ayudar. Nota: el manual en español puede estar desactualizado, por lo que se recomienda revisar también el manual en inglés.

@Hiklia Vinadar: intenta mostrar las variables justo antes de enviarlas a la base de datos, o sea, antes de mysql_query() deberías escribir print $variable; con todas las variables. Una alternativa es escribir var_dump($_POST); o print_r($_POST);. Asegúrate de que las variables tienen valores y, si los tienen, entonces publica tu código para ver que ocurre :D.

Saludos.
Una alternativa es escribir var_dump($_POST); o print_r($_POST);. Asegúrate de que las variables tienen valores
... tengo que escribir esto junto con el print $variable o solo escribo una de las dos opciones?
hola que tal, revisando las respuestas anteriores me habia dado cuenta de que no habia puesto esta parte del codigo:
if(mysql_affected_rows($resultado) >= 1) // pregunta si hubieron filas afectadas y, si lo hay y son una o más, entonces hará lo siguiente:
print "Usuario registrado satisfactoriamente"; // print muestra el mensaje que esta entre comillas.
else
print "ERROR al registrar usuario";
... y ahora que lo puse me pone este error:
Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given in /home/mispagin/public_html/registro/insertardatosentabla.php on line 23
ERROR al registrar usuario
... la linea que me marca como la que tiene el error es la msma donde inicia el codigo que me faltó. Anexo el codigo aqui abajo:

ESTE ES EL FORMULARIO
<form action="insertardatosentabla.php" method="post">
    <label>Nombre de la empresa:<input name="nombrempresa" type="text" size="71" maxlength="80" style="background-color:#B3C2E8"/>
    </label>
    <label>Giro:<input name="giro" type="text" size="30" maxlength="30"style="background-color:#B3C2E8"/>
    </label>
    <label>Nombre del Representante:<input name="nombre" type="text" size="67" maxlength="80" style="background-color:#B3C2E8" />
    </label>
    <label>Teléfono:<input name="telefono" type="text" size="25" maxlength="20" style="background-color:#B3C2E8" />
    </label>
    <label>Email:<input name="email" type="text" size="91" maxlength="50" style="background-color:#B3C2E8" />
    </label>
    <label>Opciones de Registro:<input name="tipo" type="text" style="background-color:#B3C2E8" value="Asociado Gratuito, Plus o Activo" size="40" maxlength="40" />
     </label>
    <input type="reset" value="Borrar" />
    <input type="submit" value="Enviar" />
    </form>

ESTE ES EL CÓDIGO DE CONEXIÓN

<?php

include("config.php") ;


$conexion = mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());


mysql_select_db($database, $conexion) or die ("error2".mysql_error());


$resultado = mysql_query("INSERT INTO REGISTROS (EMPRESA, GIRO, REPRESENTANTE, TELEFONO, EMAIL, TIPO) 
VALUES ('".$_POST[EMPRESA]."', '".$_POST[GIRO]."', '".$_POST[REPRESENTANTE]."', '".$_POST[TELEFONO]."', '".$_POST[EMAIL]."', '".$_POST[TIPO]."')");

if(mysql_affected_rows($resultado) >= 1) 
    print "Usuario registrado satisfactoriamente";
  else
    print "ERROR al registrar usuario"; 

?> 
@Hiklia:

Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given in /home/mispagin/public_html/registro/insertardatosentabla.php on line 23
ERROR al registrar usuario

Cuando aparezca un error diciendo que "tal función espera que el parámetro 1 sea un recurso" quiere decir que hubo un error en cuanto al tipo de variable pasado a la función. En este caso, la función mysql_query retorna un recurso y el error dice que se le pasó un tipo boolean (true o false) en lugar de un recurso, por lo que debe haber ocurrido un error al ejecutar mysql_query();. Los valores del array POST deben ser encerrados entre comillas simples: $_POST['EMPRESA'].

Ojalá te sirva, saludos.

P.D.: print_r(arreglo); por si sola mostrará los valores, o sea, escribiendo print_r($_POST); mostrará todos los valores sin necesidad de nada más. var_dump() es similar, solo que, además, mostrará el tipo de cada valor (no es necesario echo/print).
hola... que crees?... ya hice lo que me dijiste pero sigue saliendome el mismo mensaje. Hay algo mas que me falte? :(
ahhh...ya revise mi base de datos... si hace el registro aun cuando sigue saliendo el mensaje.
Esta algo raro.
Gracias por tu ayuda XD
yo tengo un problema con la linea 8 y no se que es. mi código en insertardatosentabla.php es:
<?php
// leer datos de usuario y contraseña de la base de datos
include("config.php");
// Conexión con el servidor
mysql_connect($database) or die ("error 1".mysql_error());
// Selección de Base de Datos
mysql_select_db($database) or die ("error 2".mysql_error());
INSERT INTO. 'USUARIOS' ('ID','NOMBRE','EMAIL','URL',) VALUES ('$_POST','$_POST','$_POST[correo eliminado]','$_POST',);
?>
y la de config.php es:
<?php

$server="localhost";


$database = "paginaed_base_de_pruebas";


$db_user = "paginaed_edgar";

// Y ahora la contraseña:
$db_pass = "rionavia";
?>
No se si tengo que meter algún otro código en el codigo html, mi código Html es:
<html>
<head>
<title>Mi quinta pagina con php</title>
</head>
<body>
<form method="post" action="mostrardatosenpagina.php">
<input type="text" name="ID" value="escribe tu carnet" size=30 maxlength=50 /></br>
<input type="text" name="NOMBRE" value="Escribe tu nombre" size=30 maxlength=50 /></br>
<input type="text" name="EMAIL" value="tuemail@correcto" size=30 maxlength=50 /></br>
<input type="text" name="URL" value="RFC" size=30 maxlength=50 /></br>
<input type="image" value="Botón de envio personalizado" name="Enviar la información al servidor" SRC="objetos/imagendeboton.gif" />
</form>
</body>
</html>
no se que es lo que está mal, ya intenté muchas cosas y nada, siempre me sale u error, ya no se que hacer.Si ven algún error en mis códigos diganme por favor. Gracias
@edmarinc: el error es porque el interprete de PHP esta esperando una función (en la línea 8: INSERT INTO. 'USUARIOS'...) y en su lugar encuentra una cadena de texto sin ningún sentido para él (para nosotros sí, pero hay que recordar que el computador no es inteligente XD).

Para ejecutar cualquier consulta SQL hay que especificarla a través de una función PHP, esta función se llama mysql_query();. Entre los paréntesis debes escribir la consulta como una cadena de texto, o sea, escrita entre comillas simples (') o entre comillas dobles ("). Un ejemplo de consulta sería: mysql_query("SELECT nombre, password FROM tabla_usuarios");. Esta consulta extraería todos los datos de la columna nombre y de la columna password en la tabla tabla_usuarios.

@Hiklia: ¿aún tienes problemas o ya no? :D.
Eso quiere decir que borre esa linea de: INSERT INTO. USUARIOS........ y en su lugar poner mysql_query?????????? al quitar el INSERT INTO. USUARIOS.... y poner el mysql_query() ahora y al dar enter en envio de mis datos, la pagina se pone en blanco, y no se envia nada claro, creo que estoy muy confundido con esto, no se que hacer bien con esto
Hmmmm... más que darte la respuesta, me gustaría que aprendieras (puesto que esa es la idea de leer el tutorial de PHP/MySQL, ¿no?). Para empezar, ¿sabes qué es una cadena de texto o string?.
no, solo se que son una forma diferente de dar ordenes por así decirlo, con un lenguaje diferente y reglas diferentes, pero no se como se maneja.
los string son variables alfanumericas que se usan para asignar un valor .
pero como se usan????, intente leer al respecto en internet pero me hago bolas, pues no explican como se usan, solo te dan un monton de codigos
El punto que hay después de INSER INTO creo que sobra. Al igual que la útima coma casi al fina, tras POST

INSERT INTO. 'USUARIOS' ('ID','NOMBRE','EMAIL','URL',) VALUES ('$_POST','$_POST','$_POST[correo eliminado]','$_POST',);

Mira si fuera ese el problema, oki?
he seguido lentamente el curso, pero a la hora de enviar los datos a las tabla, no llega nada, y no me sale ningun mensaje de error de coneccion con el servidor ni con la base de datos, mi pagina esta en razy, yo he insertado un dato directamente y si lo ha cargado a que se debe que no lo puedo enviar desde la pagina , de antemano muchas gracias mipaginaxlii.artsonline.com

<form method="POST" action="insertardatosentabla.php">
<input type="TEXT" name="NOMBRE" value="Escribe tu nombre" size=30 maxlength=50><br />
<input type="TEXT" name="EMAIL" value="tuemail@correcto" size=30 maxlength=50><br />
<input type="TEXT" name="URL" value="http://www.tudirecciondepagina.web" size=30 maxlength=50><br />
<input type="HIDDEN" name="ESTADO" value="Activo">
<input type="SUBMIT" value="Botón de envio estandar" name="Enviar la información al servidor"><br />
</form>


<?php
// leer datos de usuario y contraseña de la base de datos
include("config.php") ;

// Conexión con el servidor
mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());

// Selección de Base de Datos
mysql_select_db($database) or die ("error2".mysql_error());

INSERT INTO `783916_datos`.`usuarios` (`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST');
?>

-----------------------------------------------------------------------------------------------------------------------
<?php
// Rellena los espacios ente comillas de abajo con los datos que te da
// el servidor al activar la base de datos.
// Este dato de abajo suele ser localhost casi siempre:
$server="localhost";

// Aqui abajo escribe el nombre de la base de datos.
// Si tu servidor tiene cpanel normalmente va primero tu nombre de username,
// por ejemplo: username_nombredelabasededatos
$database = "783916_datos";

// Aqui abajo el nombre de username de la base de datos para acceder a ella.
$db_user = "783916_datos";

// Y ahora la contraseña:
$db_pass = "mercedes";
?>