PDA

Ver la Versión Completa : podeis decirme porque no funciona este codigo?¿?¿?


kassel
26-01-2004, 14:55:10
ola tengo este codigo en una html:
<html>
<body>

<?php

$link = mysql_connect("localhost", "root");
mysql_select_db("seres_clientes",$link);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP);



//Comprobamos si hemos recibido datos del formulario (enviar)
if ($enviar) {
// Si recibimos un id, modificamos, sino añadimos un registro
if ($id_cliente) {
$sql = "UPDATE usuarios SET nombre='$nombre', apellidos='$apellidos',
mail='$mail' WHERE id_cliente=$id_cliente";

echo "Registro Actualizado<p>";
//variable de get

} else {
$sql = "INSERT INTO usuarios (nombre, apellidos, mail) VALUES ".
"('$nombre', '$apellidos', '$mail')";
echo "Registro Añadido<p>";
}
// Enviamos la sentencia SQL al servidor DB
$result = mysql_query($sql);
} elseif ($delete) {
// Borramos un registro
$sql = "DELETE FROM usuarios WHERE id_cliente=$id_cliente";
$result = mysql_query($sql);
echo "Registro Borrado<p>";
} else {
// Esta parte se ejecuta si no hemos presionado el boton enviar,
// es decir no venimos de un formulario
if (!$id_cliente) {
// Mostramos todos los registros de nuestra BD
$result = mysql_query("SELECT * FROM usuarios",$link);
while ($myrow = mysql_fetch_array($result)) {
echo $myrow["nombre"]." - ".$myrow["apellidos"]." - ".$myrow["mail"];
echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."&delete=yes\"> Borrar - </a>";
echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."&delete=yes\"> Modificar </a><br>";
}
}
}
?>

<P>
<a href="<?php echo $PHP_SELF?>">Añadir un registro</a>
<P>
<form method="post" action="<?php echo $PHP_SELF;?>">
<?php

if ($id_cliente) {
// editamos el registro seleccionado
$sql = "SELECT * FROM usuarios WHERE id_cliente=$id_cliente";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
$id_cliente = $myrow["id_cliente"];
$nombre = $myrow["nombre"];
$apellidos= $myrow["apellidos"];
$telefono = $myrow["telefono"];
$mail = $myrow["mail"];

// enviamos el id para poder editar el registro
echo "id : <input type=text size=10 name=\"id_cliente\" value=$id_cliente><br>";



?>

Nombre : <input type="Text" size="50" name="nombre" id="nombre" value="<?php echo $nombre ?>"><br>
Apellidos : <input type="Text" size="100" name="apellidos" value="<?php echo $apellidos ?>"><br>
Email : <input type="Text" size="150" name="mail" value="<?php echo $mail ?>"><br>

<input type="Submit" name="enivar" value="Enviar Información">
</form>
<?
echo $nombre;
?>
<?php

} // End If if ($enviar)

?>



</body>
</html>
trngo que comentar dos cosas:
-tengo .en php.ini.dist-registrer_globals:f(lo he puesto en on y tmpco funciona)
- no da ningun tipo de error solo que no modifica sigue == el registro.

ola :D

__cadetill
26-01-2004, 15:50:01
Estooo, kassel, supongo que lo sabrás, pero por si no lo sabes, hay un foro exclusivo para PHP, así que copio este hilo allí y cierro este, ok?

roman
26-01-2004, 17:58:08
kassel

¿De verdad pretendes que revisemos todo este código, que averigüemos por nuestra cuenta qué se supone que debe hacer y en qué parte está fallando?

Resume y explica más.

A simple vista sólo puedo decirte que haya o no error será difícil que lo veas (dependiendo del nivel de warnigs que tengas en php) ya que ninguna de tus llamadas a mysql_query viene acompañada de su respectivo die().

Por cierto, ya que te adentras en el uso de la etiqueta code te comento que si gustas también existe la etiqueta php especial para código php que además colorea el código y se ve muy bonito.

// Saludos

kassel
27-01-2004, 18:39:35
ola lo siento no pretendia tal cosa pero aun asi os saco cual era el problema.

<input type="Submit" name="enivar" value="Enviar Información">
sin embargo ahora me encuentro en otro callejon , en:
<a href="<?php echo $PHP_SELF?>">Añadir un registro</a>
se supone que es para añadir un nuevo registro pero ni nuevos registros ni nada , se supone que tendria que aparecer un formulario para introducir los datos pero no lo hace.

ola :D

Julián
14-02-2004, 02:47:03
Jau!

'enivar' != 'enviar'

eso va a ser el riego.