error con script. me podeis ayudar?
tengo un error con este script. en teoria me tendria que crear una tabla en una base de datos, y despues crear un registro dentro de esa tabla. pero lo unico que me hace es crear la tabla...los datos que tiene que introducir en la tabla estan dentro de este formulario, que tambien sirve para crear el nombre de la tabla:
crar_clan.php
<?php
session_start();
$titulo = "Modificar contraseña";
require('cabecera.inc');
require('CreaConexion.inc');
if(!empty($_SESSION['usuario'])){
?>
<form method="POST" action="clan.php">
<center>
<table>
<tr>
<td>Nombre del Clan:</td>
<td><input type="text" name="nombreclan" value="" size="8"></td>
</tr>
<tr>
<td>Tu Nick en el Clan:</td>
<td><input type="text" name="nick" value="" size="20"></td>
</tr>
<tr>
<td>Contraseña:<br>(confirmación)</td>
<td><input type="password" name="contrasenya" value="" size="8"><br>
<input type="password" name="confirmacion" value="" size="8"></td>
</tr>
<tr>
<td>Tu E-Mail</td>
<td><input type="text" name="email" value="" size="20"></td>
</tr>
</table>
<input type="submit" value="Alta">
<br><br>
</center>
<?
}
else {
error("<li> Acceso denegado");
require('pie.inc');
}
require('pie.inc');
?>
y este es el script que procesa esos datos:
clan.php
<?php
session_start();
$titulo = "Modificar contraseña";
require('cabecera.inc');
require('CreaConexion.inc');
if(!empty($_SESSION['usuario'])){
$con=connect() or die ("<li> No se pudo realizar la conexion (LINEA) ".__LINE__." (ARCHIVO) ". __FILE__);
$sql="CREATE TABLE ".$_POST['nombreclan']." (
nick CHAR(8) NOT NULL,
contrasenya CHAR(8) NOT NULL,
email CHAR(20) NOT NULL,
PRIMARY KEY(nick)
);";
mysql_query($sql);
$sql="INSERT INTO ".$_POST['nombreclan']." VALUES(
'$nick',
'$contrasenya',
'$email',
);";
mysql_query($sql);
mysql_close($con);
?>
<?
}
else {
error("<li> Acceso denegado");
require('pie.inc');
}
require('pie.inc');
?>
me crea la tabla pero no el usuario que tiene que crear en esa tabla...como lo puedo solucionar? :S
por favor contestad!!
gracias
crar_clan.php
<?php
session_start();
$titulo = "Modificar contraseña";
require('cabecera.inc');
require('CreaConexion.inc');
if(!empty($_SESSION['usuario'])){
?>
<form method="POST" action="clan.php">
<center>
<table>
<tr>
<td>Nombre del Clan:</td>
<td><input type="text" name="nombreclan" value="" size="8"></td>
</tr>
<tr>
<td>Tu Nick en el Clan:</td>
<td><input type="text" name="nick" value="" size="20"></td>
</tr>
<tr>
<td>Contraseña:<br>(confirmación)</td>
<td><input type="password" name="contrasenya" value="" size="8"><br>
<input type="password" name="confirmacion" value="" size="8"></td>
</tr>
<tr>
<td>Tu E-Mail</td>
<td><input type="text" name="email" value="" size="20"></td>
</tr>
</table>
<input type="submit" value="Alta">
<br><br>
</center>
<?
}
else {
error("<li> Acceso denegado");
require('pie.inc');
}
require('pie.inc');
?>
y este es el script que procesa esos datos:
clan.php
<?php
session_start();
$titulo = "Modificar contraseña";
require('cabecera.inc');
require('CreaConexion.inc');
if(!empty($_SESSION['usuario'])){
$con=connect() or die ("<li> No se pudo realizar la conexion (LINEA) ".__LINE__." (ARCHIVO) ". __FILE__);
$sql="CREATE TABLE ".$_POST['nombreclan']." (
nick CHAR(8) NOT NULL,
contrasenya CHAR(8) NOT NULL,
email CHAR(20) NOT NULL,
PRIMARY KEY(nick)
);";
mysql_query($sql);
$sql="INSERT INTO ".$_POST['nombreclan']." VALUES(
'$nick',
'$contrasenya',
'$email',
);";
mysql_query($sql);
mysql_close($con);
?>
<?
}
else {
error("<li> Acceso denegado");
require('pie.inc');
}
require('pie.inc');
?>
me crea la tabla pero no el usuario que tiene que crear en esa tabla...como lo puedo solucionar? :S
por favor contestad!!
gracias
facil, no te inserta los datos porque tu consulta no esta completa, asi deberia ser:
$sql="INSERT INTO ".$_POST['nombreclan']." (nick, contrasenya, email) VALUES(
'$nick',
'$contrasenya',
'$email',
)";
Te faltaba el primer parentesis donde dices los nombres de tus campos y luego los valores asignados, ademas me parece que tenias un ; demas al final de la consulta, no se si funcionara con ese pero yo no lo uso.
Saludos... Raúl
$sql="INSERT INTO ".$_POST['nombreclan']." (nick, contrasenya, email) VALUES(
'$nick',
'$contrasenya',
'$email',
)";
Te faltaba el primer parentesis donde dices los nombres de tus campos y luego los valores asignados, ademas me parece que tenias un ; demas al final de la consulta, no se si funcionara con ese pero yo no lo uso.
Saludos... Raúl
