elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 3 4 5 6 [7] 8 9 10
61  Programación / PHP / como cerrar sesiones en php en: 13 Enero 2013, 01:02 am
no puedo cerrar mi sesion en php: he probado con session_destroy(); y un sin fin de pruebas y no me cierra le doy salir me la destruye* con session_destroy le doy para atras y vuelve a cargarme la pagina y datos de la base de datos.

COMO SE CIERRA CON PHP5 y si es fallo de php5¿¿¿?que pensais¿¿¿?
62  Programación / PHP / no me carga el listado en: 31 Diciembre 2012, 16:15 pm
me carga solo el 1º los demas no me los carga de la base de datos en el archivo buscador.php:

buscador.php

Código:
<?php

include("../conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");

$correcto=0;
$result=mysqli_query($conexion,"select palabras from REC_buscador") or die ("Error mysqli_query.");

?>
<html>
<head>

<script type="text/javascript" src="http://localhost/recad/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://localhost/recad/js/jquery-ui-1.9.2.custom.js"></script>
<link type="text/css" rel="stylesheet" href="http://localhost/recad/css/smoothness/jquery-ui-1.9.2.custom.css">

</head>
<body>

<form action="buscado.php" method="post">
<input type='text' id='tags' name='buscador'>
<input type="submit" value="Buscar">
</form>

<script type='text/javascript'>
var availableTags = [

<?php

if($fila1=mysqli_fetch_array($result))
{

echo "\"" . $fila1['palabras'] . "\",";
echo "\"asdf\"";

}

mysqli_close($conexion);
?>

];
$('#tags').autocomplete({
source: availableTags
});

</script>

</body>
</html>

buscado.php

Código:
<?php

$buscador=$_POST['buscador'];


if (strlen($buscador)<1 || strlen($buscador)>100)
{
      echo  "Escriba algo entre 1 y 100 caracteres.<br>";     
      return false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789- _@#";
   for ($i=0; $i<strlen($buscador); $i++){
      if (strpos($validos, substr($buscador,$i,1))===false){
         echo  " Contiene caracteres no permitidos<br>";
                                    return false; 
      }
   }

include("../conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");

$correcto=0;
$result=mysqli_query($conexion,"select links from REC_buscador where palabras='$buscador'") or die ("Error mysqli_query.");


if($fila1=mysqli_fetch_array($result))
{
$fila1['links'];
$correcto=1;


}

if($correcto==1)
{
header("Location: " . $fila1['links']);

}

if($correcto==0)
{
echo "No existe lo que buscas.";
}

mysqli_close($conexion);
?>

Código:
CREATE TABLE REC_buscador(
cod_buscador INTEGER NOT NULL AUTO_INCREMENT,
palabras VARCHAR(100) NOT NULL,
links VARCHAR(250) NOT NULL,
CONSTRAINT PKUSU PRIMARY KEY (cod_buscador)
) ENGINE=InnoDB;
63  Programación / Desarrollo Web / no me funciona el iva en: 24 Diciembre 2012, 23:43 pm
no me funciona el iva solo va cuando voy a la casilla descuentos. Algun experto en javascript:

index.php

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />

<title>Factura</title>

<link rel='stylesheet' type='text/css' href='css/style.css' />
<link rel='stylesheet' type='text/css' href='css/print.css' media="print" />
<script type='text/javascript' src='js/jquery-1.3.2.min.js'></script>
<script type='text/javascript' src='js/example.js'></script>

</head>

<body>

<div id="page-wrap">

<textarea id="header">FACTURA</textarea>

<div id="identity">

            <textarea id="address">C/hggjghih
hgfdhgfh
jhgfjhgjhgjjghm

Tel: 960644545
Movil: 658532458</textarea>

            <div id="logo">

              <div id="logoctr">
                <a href="javascript:;" id="change-logo" title="Change logo">Cargar Logo</a>
                <a href="javascript:;" id="save-logo" title="Save changes">Guardar Logo</a>
                |
                <a href="javascript:;" id="delete-logo" title="Delete logo">Borrar Logo</a>
                <a href="javascript:;" id="cancel-logo" title="Cancel changes">Cancelar</a>
              </div>

              <div id="logohelp">
                <input id="imageloc" type="text" size="50" value="" /><br />
                (max width: 540px, max height: 100px)
              </div>
              <img id="image" src="images/logo.png" alt="logo" />
            </div>

</div>

<div style="clear:both"></div>

<div id="customer">

            <textarea id="customer-title">empresa</textarea>

            <table id="meta">
                <tr>
                    <td class="meta-head">Numero factura</td>
                    <td><textarea>000123</textarea></td>
                </tr>
                <tr>

                    <td class="meta-head">Fecha</td>
                    <td><textarea id="date">December 15, 2009</textarea></td>
                </tr>
                <tr>
                    <td class="meta-head">Total factura</td>
                    <td><div class="due">0.00€</div></td>
                </tr>

            </table>

</div>

<table id="items">

 <tr>
     <th>Servicio</th>
     <th>Descripción</th>
     <th>Precio Unidad</th>
     <th>Cantidad</th>
     <th>Precio</th>
 </tr>
 
 <tr class="item-row">
     <td class="item-name"><div class="delete-wpr"><textarea>Psicologa</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>
     <td class="description"><textarea>Visita a domicilio</textarea></td>
     <td><textarea class="cost">50.00€</textarea></td>
     <td><textarea class="qty">1</textarea></td>
     <td><span class="price">50.00€</span></td>
 </tr>
 
 <tr class="item-row">
     <td class="item-name"><div class="delete-wpr"><textarea>Terapia</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>
     <td class="description"><textarea>Visita a domicilio</textarea></td>
     <td><textarea class="cost">35.00€</textarea></td>
     <td><textarea class="qty">1</textarea></td>
     <td><span class="price">35.00€</span></td>
 </tr>
 
 <tr class="item-row">
     <td class="item-name"><div class="delete-wpr"><textarea>Desplazamiento</textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>
     <td class="description"><textarea>Desplazamiento a domicilio</textarea></td>
     <td><textarea class="cost">20.00€</textarea></td>
     <td><textarea class="qty">1</textarea></td>
     <td><span class="price">20.00€</span></td>
 </tr>
 
 <tr id="hiderow">
   <td colspan="5"><a id="addrow" href="javascript:;" title="Add a row">Añadir servicio</a></td>
 </tr>
 
 <tr>
     <td colspan="2" class="blank"> </td>
     <td colspan="2" class="total-line">Subtotal</td>
     <td class="total-value"><div id="subtotal">105.00€</div></td>
 </tr>
 <tr>
     <td colspan="2" class="blank"> </td>
     <td colspan="2" class="total-line">Descuentos</td>

     <td class="total-value"><textarea id="paid">0.00€</textarea></td>
 </tr>
 <tr>

     <td colspan="2" class="blank"> </td>
     <td colspan="2" class="total-line">Total</td>
     <td class="total-value"><div class="total">105.00€</div></td>
 </tr>
 <tr>
     <td colspan="2" class="blank"> </td>
     <td colspan="2" class="total-line">IVA</td>
     <td class="total-value"><textarea id="paid2">21</textarea>%<div id="totaliva">0.00€</div></td>
 </tr>
 <tr>
     <td colspan="2" class="blank"> </td>
     <td colspan="2" class="total-line balance">Total factura</td>
     <td class="total-value balance"><div class="due">105.00€</div></td>
 </tr>

</table>


</div>

</body>

</html>


example.js

Código:
function print_today() {
  // ***********************************************
  // AUTHOR: WWW.CGISCRIPT.NET, LLC
  // URL: http://www.cgiscript.net
  // Use the script, just leave this message intact.
  // Download your FREE CGI/Perl Scripts today!
  // ( http://www.cgiscript.net/scripts.htm )
  // ***********************************************
  var now = new Date();
  var months = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
  var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
  function fourdigits(number) {
    return (number < 1000) ? number + 1900 : number;
  }
  var today =  months[now.getMonth()] + " " + date + ", " + (fourdigits(now.getYear()));
  return today;
}

// from http://www.mediacollege.com/internet/javascript/number/round.html
function roundNumber(number,decimals) {
  var newString;// The new rounded number
  decimals = Number(decimals);
  if (decimals < 1) {
    newString = (Math.round(number)).toString();
  } else {
    var numString = number.toString();
    if (numString.lastIndexOf(".") == -1) {// If there is no decimal point
      numString += ".";// give it one at the end
    }
    var cutoff = numString.lastIndexOf(".") + decimals;// The point at which to truncate the number
    var d1 = Number(numString.substring(cutoff,cutoff+1));// The value of the last decimal place that we'll end up with
    var d2 = Number(numString.substring(cutoff+1,cutoff+2));// The next decimal, after the last one we want
    if (d2 >= 5) {// Do we need to round up at all? If not, the string will just be truncated
      if (d1 == 9 && cutoff > 0) {// If the last digit is 9, find a new cutoff point
        while (cutoff > 0 && (d1 == 9 || isNaN(d1))) {
          if (d1 != ".") {
            cutoff -= 1;
            d1 = Number(numString.substring(cutoff,cutoff+1));
          } else {
            cutoff -= 1;
          }
        }
      }
      d1 += 1;
    }
    if (d1 == 10) {
      numString = numString.substring(0, numString.lastIndexOf("."));
      var roundedNum = Number(numString) + 1;
      newString = roundedNum.toString() + '.';
    } else {
      newString = numString.substring(0,cutoff) + d1.toString();
    }
  }
  if (newString.lastIndexOf(".") == -1) {// Do this again, to the new string
    newString += ".";
  }
  var decs = (newString.substring(newString.lastIndexOf(".")+1)).length;
  for(var i=0;i<decimals-decs;i++) newString += "0";
  //var newNumber = Number(newString);// make it a number if you like
  return newString; // Output the result to the form field (change for your purposes)
}

function update_total() {
  var total = 0;
  $('.price').each(function(i){
    price = $(this).html().replace("€","");
    if (!isNaN(price)) total += Number(price);
  });

  total = roundNumber(total,2);

  $('#subtotal').html(total+"€");
  $('#total').html(total+"€");
  
  update_balance();
}

/*function update_balance() {
  var due = $("#total").html().replace("€","") - $("#paid").val().replace("€","");
  due = roundNumber(due,2);
  
  $('.due').html(due+"€");
}*/



function update_balance() {
  var total = $("#subtotal").html().replace("€","") - $("#paid").val().replace("€","");
  total = roundNumber(total,2);
  $('.total').html(total+"€");
    
  
  totaldue = (total)/(100)* $("#paid2").val();
  totaldue = roundNumber(totaldue,2);
  $('#totaliva').html(totaldue+"€");
  
  total=parseInt(total);
  totaldue=parseInt(totaldue);
  
  due=total+totaldue;
  due = roundNumber(due,2);
  $('.due').html(due+"€");
  
}




function update_price() {
  var row = $(this).parents('.item-row');
  var price = row.find('.cost').val().replace("€","") * row.find('.qty').val();
  price = roundNumber(price,2);
  isNaN(price) ? row.find('.price').html("N/A") : row.find('.price').html(price+"€");
  
  update_total();
}


function bind() {
  $(".cost").blur(update_price);
  $(".qty").blur(update_price);
}

$(document).ready(function() {

  $('input').click(function(){
    $(this).select();
  });

  $("#paid").blur(update_balance);
  
  $("#addrow").click(function(){
    $(".item-row:last").after('<tr class="item-row"><td class="item-name"><div class="delete-wpr"><textarea>Nuevo servicio</textarea><a class="delete" href="javascript:;" title="Borrar servicio">X</a></div></td><td class="description"><textarea>Descripción</textarea></td><td><textarea class="cost">0.00€</textarea></td><td><textarea class="qty">0</textarea></td><td><span class="price">0.00€</span></td></tr>');
    if ($(".delete").length > 0) $(".delete").show();
    bind();
  });
  
  bind();
  
  $(".delete").live('click',function(){
    $(this).parents('.item-row').remove();
    update_total();
    if ($(".delete").length < 2) $(".delete").hide();
  });
  
  $("#cancel-logo").click(function(){
    $("#logo").removeClass('edit');
  });
  $("#delete-logo").click(function(){
    $("#logo").remove();
  });
  $("#change-logo").click(function(){
    $("#logo").addClass('edit');
    $("#imageloc").val($("#image").attr('src'));
    $("#image").select();
  });
  $("#save-logo").click(function(){
    $("#image").attr('src',$("#imageloc").val());
    $("#logo").removeClass('edit');
  });
  
  $("#date").val(print_today());
  
});

style.css

Código:
/*
CSS-Tricks Example
by Chris Coyier
http://css-tricks.com
*/

* { margin: 0; padding: 0; }
body { font: 14px/1.4 Georgia, serif; }
#page-wrap { width: 800px; margin: 0 auto; }

textarea { border: 0; font: 14px Georgia, Serif; overflow: hidden; resize: none; }
table { border-collapse: collapse; }
table td, table th { border: 1px solid black; padding: 5px; }

#header { height: 15px; width: 100%; margin: 20px 0; background: #222; text-align: center; color: white; font: bold 15px Helvetica, Sans-Serif; text-decoration: uppercase; letter-spacing: 20px; padding: 8px 0px; }

#address { width: 250px; height: 150px; float: left; }
#customer { overflow: hidden; }

#logo { text-align: right; float: right; position: relative; margin-top: 25px; border: 1px solid #fff; max-width: 540px; max-height: 100px; overflow: hidden; }
#logo:hover, #logo.edit { border: 1px solid #000; margin-top: 0px; max-height: 125px; }
#logoctr { display: none; }
#logo:hover #logoctr, #logo.edit #logoctr { display: block; text-align: right; line-height: 25px; background: #eee; padding: 0 5px; }
#logohelp { text-align: left; display: none; font-style: italic; padding: 10px 5px;}
#logohelp input { margin-bottom: 5px; }
.edit #logohelp { display: block; }
.edit #save-logo, .edit #cancel-logo { display: inline; }
.edit #image, #save-logo, #cancel-logo, .edit #change-logo, .edit #delete-logo { display: none; }
#customer-title { font-size: 20px; font-weight: bold; float: left; }

#meta { margin-top: 1px; width: 300px; float: right; }
#meta td { text-align: right;  }
#meta td.meta-head { text-align: left; background: #eee; }
#meta td textarea { width: 100%; height: 20px; text-align: right; }

#items { clear: both; width: 100%; margin: 30px 0 0 0; border: 1px solid black; }
#items th { background: #eee; }
#items textarea { width: 80px; height: 50px; }
#items tr.item-row td { border: 0; vertical-align: top; }
#items td.description { width: 300px; }
#items td.item-name { width: 175px; }
#items td.description textarea, #items td.item-name textarea { width: 100%; }
#items td.total-line { border-right: 0; text-align: right; }
#items td.total-value { border-left: 0; padding: 10px; }
#items td.total-value textarea { height: 20px; background: none; }
#items td.balance { background: #eee; }
#items td.blank { border: 0; }

#terms { text-align: center; margin: 20px 0 0 0; }
#terms h5 { text-transform: uppercase; font: 13px Helvetica, Sans-Serif; letter-spacing: 10px; border-bottom: 1px solid black; padding: 0 0 8px 0; margin: 0 0 8px 0; }
#terms textarea { width: 100%; text-align: center;}

textarea:hover, textarea:focus, #items td.total-value textarea:hover, #items td.total-value textarea:focus, .delete:hover { background-color:#EEFF88; }

.delete-wpr { position: relative; }
.delete { display: block; color: #000; text-decoration: none; position: absolute; background: #EEEEEE; font-weight: bold; padding: 0px 3px; border: 1px solid; top: -6px; left: -22px; font-family: Verdana; font-size: 12px; }

print.css

Código:
#hiderow,
.delete {
  display: none;
}
64  Programación / Desarrollo Web / como hacer un .htaccess en: 25 Noviembre 2012, 16:09 pm
como hacer un .htaccess para que no me carguen los archivos desde otra pagina, es decir, si tengo mis archivos en mi host que sean cargados desde ahi, no desde otra web me pueda cargar x ejemplo las imagenes y me quiten *ancho de banda*.
65  Programación / Desarrollo Web / mysqli en: 22 Noviembre 2012, 12:01 pm
SERIA CORRECTO ESTO:

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (strlen($usuario)<8 || strlen($usuario)>15)
{
      echo  "El limite esta entre 8 y 15 caracteres<br>";     
      return false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_@#";
   for ($i=0; $i<strlen($usuario); $i++){
      if (strpos($validos, substr($usuario,$i,1))===false){
         echo  " Contiene caracteres no permitidos<br>";
                                    return false;       
         
      }
   }

$cifrad=hash('sha512',$pass);

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db : ". mysqli_connect_error());

$correcto=0;
$result=mysqli_query($conexion,"select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'")  or die ("Error mysqli_query: ". mysqli_connect_error());

if($fila1=mysqli_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'];
}

if($correcto==0)
{
echo "No entras";
unset($_SESSION['usuario1']);
unset($_SESSION['contrasena']);

}

mysqli_close($conexion);
?>
66  Programación / Desarrollo Web / como puedo cifrar mi base de datos y a la vez tener seguridad sql en: 17 Noviembre 2012, 18:04 pm
mysql_real_escape_string sea a actualizado no¿¿? xk ahora cifra los datos que pasa pero no los puedo guardar en la base de datos que hago, aqui os paso el codigo con el mysql_real_escape_string comentado sino no me funciona y no loguea el usuario "SERGIO":

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];

/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
$pass=mysql_real_escape_string($pass);


$cifrad=hash('sha512','$pass');

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if($fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'];
}

if($correcto==0)
{
echo "No entras";
unset($_SESSION['usuario1']);
unset($_SESSION['contrasena']);

}

mysql_close($conexion);
?>

Código:
--
-- TABLA Administradores
--

CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
usuario1 VARCHAR(200) NOT NULL,
contrasena VARCHAR(200) NOT NULL,
adminemail VARCHAR(200) NOT NULL,
usuario VARCHAR(20),
CONSTRAINT PKUSUA PRIMARY KEY (cod_admin),
CONSTRAINT adminunica1 UNIQUE(usuario1),
CONSTRAINT adminunica11 UNIQUE(usuario)
) ENGINE=InnoDB;

NECESITO contra sql injection y cifrar la base de datos con algun algoritmo recursivo*.
67  Sistemas Operativos / GNU/Linux / como cambiar permisos a carpetas y directorios recursivamente en: 15 Noviembre 2012, 17:49 pm
como cambiar por 1 parte los directorios y sus respectivas subcarpetas con chmod:


y 2 y los archivos:


es que los apuntes no encuentro na as que tendre que guardarmelos cuando me los deis
68  Programación / PHP / me da contraseñas distintas y no funciona en: 13 Noviembre 2012, 23:26 pm
me da contraseñas distintas y no funciona,esto es un simple entrar.php

Código:
<?php
session_start();

unset($_SESSION['adminusuario']);
unset($_SESSION['admincontrasena']);

?>
<html>
<head>


</head>
<body>
<form action="administracion.php" method="post">
Usuario: <input type="text" name="adminusuario">
Contraseña: <input type="password" name="admincontrasena">


<input type="submit" value="Entrar">
</form>


</body>
</html>

Código:
<?php
session_start();

if(!isset($_SESSION['adminusuario']))
{
$usuario=$_POST['adminusuario'];
$pass=$_POST['admincontrasena'];
$usuario=mysql_real_escape_string($usuario);
$pass=mysql_real_escape_string($pass);

$cifrada=sha1(md5($pass));

}
else
{
$usuario=$_SESSION['adminusuario'];
$cifrada=$_SESSION['admincontrasena'];
}

include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu) or die ("Entrar con los siguientes datos: ". mysql_error());

mysql_select_db($bd,$conexion) or die ("No se puede acceder a la base de datos: ". mysql_error());

$correcto=0;
$result=mysql_query("select * from REC_administradores where adminusuario='$usuario' and admincontrasena='$cifrada'",$conexion) or die ("Fallo en la sentencia SQL: ". mysql_error());

if($fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['adminusuario']=$fila1['adminusuario'];
$_SESSION['admincontrasena']=$fila1['admincontrasena'];
$correcto=1;
}

if($correcto==1)
{
echo "Has entrado:";
}
else
{
echo "No entras";
unset($_SESSION['adminusuario']);
unset($_SESSION['admincontrasena']);
}
mysql_close($conexion);
?>

estan sencillo que no veo el problema y no salta nada de lo que le marcado, me va a "no entrar" directamente

Código:
--
-- TABLA Administradores
--

CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
adminusuario VARCHAR(30) NOT NULL,
admincontrasena VARCHAR(80) NOT NULL,
adminemail VARCHAR(40) NOT NULL,
usuario VARCHAR(20),
CONSTRAINT PKUSUA PRIMARY KEY (cod_admin),
CONSTRAINT adminunica1 UNIQUE(adminusuario),
CONSTRAINT adminunica11 UNIQUE(usuario)
) ENGINE=InnoDB;
69  Programación / Desarrollo Web / no puedo guardar en una tabla 2 veces me salta error en: 12 Noviembre 2012, 21:46 pm
no puedo guardar en una tabla 2 veces me salta error y no veo la solucion. Cuando le doy a buscar.php un nombre:

Código:
<?php
session_start();

unset($_SESSION['nombre__']);
unset($_SESSION['apellido1__']);

?>
<html>
<head>


</head>
<body>
<form action="editar_usuario.php" method="post">
Buscar: <input type="text" name="nombre">
<input type="submit" value="buscar">
</form>


</body>
</html>

me va a editar_usuario.php y procesa esto:

Código:
<?php
session_start();

$nombre=$_SESSION['nombre__'];


$nombre=$_POST['nombre'];


include("conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);
mysql_select_db($bd,$conexion) or die ("Error1");

$correcto=0;
$result=mysql_query("select * from REC_usuarios where nombre='$nombre'",$conexion) or die ("Error2");

if($fila1=mysql_fetch_array($result))
{

$fila1['cod_usu'];
$_SESSION['nombre__']=$fila1['nombre'];
$_SESSION['apellido1__']=$fila1['apellido1'];
$correcto=1;

}

if(correcto==1)
{

}


?>


<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="css/custom-theme/jquery-ui-1.9.1.custom.css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.9.1.custom.js"></script>
<style>
body { font: 62.5% "Trebuchet MS", sans-serif;
margin: 50px;}
.tabla { font: 99% "Trebuchet MS", sans-serif;}
.texto2 { font: 99% "Trebuchet MS", sans-serif;
          color: #777;}
    td,th {color: #333;}
</style>


</head>
<body>

<div id="accordion">
<h3>Datos Usuario</h3>
<div>
    <form action="guardar_datos_usuario.php" method="post" name="FormDatosUsuario">
  <table width="1115" border="0" cellspacing="10" class="tabla">
    <tr>
      <td width="111">Nombre:</td>
      <td width="301"><input type="text" name="nombre" size="50" value="<? echo $_SESSION['nombre__'];  ?>"></td>
          <td width="333" align="right">Actual:</td>
          <td width="62" align="right"><script language="javascript">
//funcio encargada de mostrar la hora
function hora(){
var fecha = new Date()
var hora = fecha.getHours()
var minuto = fecha.getMinutes()
var segundo = fecha.getSeconds()

if (hora < 10) {hora = "0" + hora}
if (minuto < 10) {minuto = "0" + minuto}
if (segundo < 10) {segundo = "0" + segundo}
var horita = hora + ":" + minuto + ":" + segundo
document.getElementById('hora').firstChild.nodeValue = horita
tiempo = setTimeout('hora()',1000)
}
function inicio(){
document.write('<span id="hora">')
document.write ('000000</span>')
hora()
}
</script></td>
          <td width="45" align="right">Fecha:</td>
          <td width="181" align="right"><script languaje="javascript">
                     var mydate=new Date()
                     var year=mydate.getYear()
                     if (year < 1000)
                     year+=1900
                     var day=mydate.getDay()
                     var month=mydate.getMonth()
                     var daym=mydate.getDate()
                     if (daym<10)
                     daym="0"+daym
                     var dayarray=new Array("Domingo,","Lunes,","Martes,","Miércoles,","Jueves,","Viernes,","Sábado,")
                     var montharray=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")
                     document.write("<font color='black' face='Trebuchet MS' style='font-size:8pt'>"+dayarray[day]+" "+daym+" de "+montharray[month]+" de "+year+"                    </font>")
                    </script></td>
        </tr>
    <tr>
      <td>1º Apellido:</td>
      <td><input type="text" name="apellido1" size="50" value="<? echo $_SESSION['apellido1__']; ?>"></td>
          <td width="333" align="right"><span class="texto2">Ultima Actualización:</span></td>
          <td width="62" align="right" class="texto2">Hora: 18:37</td>
          <td width="45" class="texto2" align="right">Fecha:</td>
          <td width="181" align="right" class="texto2">Miercoles, 7 de Noviembre de 2012</td>
        </tr>
    <tr>
      <td>2º Apellido: </td>
      <td><input type="text" name="apellido2" size="50">
          <td width="333"></td>
          <td width="62"></td>
          <td width="45"></td>
        </tr>
    <tr>
      <td>Usuario: </td>
      <td><input type="text" name="usuario" size="40"></td>
        </tr>
    <tr>
      <td>Contraseña:</td>
      <td><input type="text" name="contrasena" size="40"></td>
        </tr>
    <tr>
      <td>Email:</td>
      <td><input type="text" name="email" size="40"></td>
        </tr>
    <tr>
      <td>Dni: </td>
      <td><input type="text" name="dni" size="30"></td>
        </tr>
    <tr>
      <td>Dirección:</td>
      <td><input type="text" name="direccion" size="50"></td>
        </tr>
    <tr>
      <td>Población:</td>
      <td><input type="text" name="poblacion" size="50"></td>
        </tr>
    <tr>
      <td>Codigo Postal: </td>
      <td><input type="text" name="codigopostal" size="20"></td>
        </tr>
    <tr>
      <td>Provincia:</td>
      <td><input type="text" name="provincia" size="50"></td>
        </tr>
    <tr>
      <td>Tel. Fijo:</td>
      <td><input type="text" name="telefonofijo" size="30"></td>
        </tr>
    <tr>
      <td>Movil: </td>
      <td><input type="text" name="movil" size="30"></td>
        </tr>
    <tr>
      <td>Nº Tarjeta Sanitaria:</td>
      <td><input type="text" name="sip" size="30"></td>
        </tr>
    <tr>
      <td>Fecha nacimiento:</td>
      <td><select name="fechanacimientodia">
        <option>Dia</option>
        </select>
        <select name="fechanacimientomes">
          <option>Mes</option>
            </select>
        <select name="fechanacimientoano">
          <option>Año</option>
          </select></td>
        </tr>
    <tr>
      <td>Estado Civil: </td>
      <td><select name="estadocivil">
        <option>--Elegir--</option>
        <option value="soltero">Soltero</option>
        <option value="casado">Casado</option>
        <option value="divorciado">Divorciado</option>
        <option value="viudo">Viudo</option>
          </select></td>
        </tr>
    <tr>
      <td>Sexo:</td>
      <td>Hombre
        <input type="radio" name="sexo" value="Hombre">
Mujer
<input type="radio" name="sexo" value="Mujer"></td>
        </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
        </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
            <input type="submit" class="ClassButton" value="Guardar cambios">
          <button>Cancelar</button></td>
        </tr>
      </table>
</form></div>

<h3>Datos Familiares</h3>
        <div>
    <form action="" method="post" name="FormDatosFamiliares">
  <table width="1058" border="0" cellspacing="10" class="tabla">
   
        <tr>
      <td>Parentesco:</td>
      <td><select name="parentesco1">
        <option>--Elegir--</option>
        <option value="sumujer">Mujer</option>
        <option value="sumarido">Marido</option>
        <option value="suhijo">Hijo</option>
        <option value="suhija">Hija</option>
        <option value="supadre">Padre</option>
        <option value="sumadre">Madre</option>
        <option value="sututorlegal">Tutor Legal</option>
        <option value="suotro">Otros</option>
          </select></td>
          <td width="135">Parentesco:</td>
      <td width="342"><select name="parentesco2">
        <option>--Elegir--</option>
        <option value="sumujer">Mujer</option>
        <option value="sumarido">Marido</option>
        <option value="suhijo">Hijo</option>
        <option value="suhija">Hija</option>
        <option value="supadre">Padre</option>
        <option value="sumadre">Madre</option>
        <option value="sututorlegal">Tutor Legal</option>
        <option value="suotro">Otros</option>
          </select></td>
        </tr>
        <tr>
      <td width="135">Nombre:</td>
      <td width="388"><input type="text" name="nombrefamiliar1" size="50"></td>
          <td width="135">Nombre:</td>
      <td width="342"><input type="text" name="nombrefamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>1º Apellido:</td>
      <td><input type="text" name="1apellidofamiliar1" size="50"></td>
          <td>1º Apellido:</td>
      <td><input type="text" name="1apellidofamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>2º Apellido: </td>
      <td><input type="text" name="2apellidofamiliar1" size="50"></td>
          <td>2º Apellido: </td>
      <td><input type="text" name="2apellidofamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>Usuario: </td>
      <td><input type="text" name="usuariofamiliar1" size="40"></td>
          <td>Usuario: </td>
      <td><input type="text" name="usuariofamiliar2" size="40"></td>
        </tr>
    <tr>
      <td>Contraseña:</td>
      <td><input type="text" name="contrasenafamiliar1" size="40"></td>
          <td>Contraseña:</td>
      <td><input type="text" name="contrasenafamiliar2" size="40"></td>
        </tr>
    <tr>
      <td>Email:</td>
      <td><input type="text" name="emailfamiliar1" size="40"></td>
          <td>Email:</td>
      <td><input type="text" name="emailfamiliar2" size="40"></td>
        </tr>
    <tr>
      <td>Dni: </td>
      <td><input type="text" name="dnifamiliar1" size="30"></td>
          <td>Dni: </td>
      <td><input type="text" name="dnifamiliar2" size="30"></td>
        </tr>
    <tr>
      <td>Dirección:</td>
      <td><input type="text" name="direccionfamiliar1" size="50"></td>
          <td>Dirección:</td>
      <td><input type="text" name="direccionfamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>Población:</td>
      <td><input type="text" name="poblacionfamiliar1" size="50"></td>
          <td>Población:</td>
      <td><input type="text" name="poblacionfamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>Codigo Postal: </td>
      <td><input type="text" name="codigopostalfamiliar1" size="20"></td>
          <td>Codigo Postal: </td>
      <td><input type="text" name="codigopostalfamiliar2" size="20"></td>
        </tr>
    <tr>
      <td>Provincia:</td>
      <td><input type="text" name="provinciafamiliar1" size="50"></td>
          <td>Provincia:</td>
      <td><input type="text" name="provinciafamiliar2" size="50"></td>
        </tr>
    <tr>
      <td>Tel. Fijo:</td>
      <td><input type="text" name="telefonofijofamiliar1" size="30"></td>
          <td>Tel. Fijo:</td>
      <td><input type="text" name="telefonofijofamiliar2" size="30"></td>
        </tr>
    <tr>
      <td>Movil: </td>
      <td><input type="text" name="movilfamiliar1" size="30"></td>
          <td>Movil: </td>
      <td><input type="text" name="movilfamiliar2" size="30"></td>
        </tr>
   
    <tr>
      <td>Fecha nacimiento:</td>
      <td><select name="fechanacimientodiafamiliar1">
        <option>Dia</option>
        </select>
        <select name="fechanacimientomesfamiliar1">
          <option>Mes</option>
            </select>
        <select name="fechanacimientoanofamiliar1">
          <option>Año</option>
          </select></td>
          <td>Fecha nacimiento:</td>
      <td><select name="fechanacimientodiafamiliar2">
        <option>Dia</option>
        </select>
        <select name="fechanacimientomesfamiliar2">
          <option>Mes</option>
            </select>
        <select name="fechanacimientoanofamiliar2">
          <option>Año</option>
          </select></td>
        </tr>
    <tr>
      <td>Estado Civil: </td>
      <td><select name="estadocivilfamiliar1">
        <option>--Elegir--</option>
        <option value="soltero">Soltero</option>
        <option value="casado">Casado</option>
        <option value="divorciado">Divorciado</option>
        <option value="viudo">Viudo</option>
          </select></td>
          <td>Estado Civil: </td>
      <td><select name="estadocivilfamiliar2">
        <option>--Elegir--</option>
        <option value="soltero">Soltero</option>
        <option value="casado">Casado</option>
        <option value="divorciado">Divorciado</option>
        <option value="viudo">Viudo</option>
          </select></td>
        </tr>
    <tr>
      <td>Sexo:</td>
      <td>Hombre
        <input type="radio" name="sexofamiliar1" value="Hombre">
Mujer
<input type="radio" name="sexo" value="Mujer"></td>

      <td>Sexo:</td>
      <td>Hombre
        <input type="radio" name="sexofamiliar2" value="Hombre">
Mujer
<input type="radio" name="sexo" value="Mujer"></td>
        </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
          <td>&nbsp;</td>
      <td>&nbsp;</td>
        </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
            <button>Guardar cambios</button>
          <button>Cancelar</button></td>
          <td>&nbsp;</td>
      <td>&nbsp;</td>
        </tr>
      </table>
    </form></div>


<h3>Datos Bancarios</h3>
<div>
    <form action="" method="post" name="FormDatosBancarios">
        <table width="608" border="0" cellspacing="10" class="tabla">
          <tr>
            <td width="115">Forma de Pago:</td>
            <td width="459"><select name="formadepago">
<option>--Elegir--</option>
<option value="cuentabancaria">Cuenta Bancaria</option>
<option value="tarjeta">Tarjeta</option>
<option value="trasferencia">Trasferencia</option>
                <option value="contado">Contado</option>
</select></td>
          </tr>
          <tr>
            <td>Titular:</td>
            <td><input type="text" name="titular" size="70"></td>
          </tr>
          <tr>
            <td>NIF o CIF:</td>
            <td><input type="text" name="nifocif" size="6">
            <input type="text" name="nifocif" size="1"></td>
          </tr>
          <tr>
            <td width="115">Entidad Bancaria:</td>
            <td width="459"><select name="entidadbancaria">
<option>--Elegir--</option>
<option value="banco1">Bankia</option>
<option value="banco2">Santander</option>
<option value="banco3">Banesto</option>
                <option value="banco4">BBVA</option>
                <option value="banco1">Caja Mar</option>
<option value="banco2">CatalunyaCaixa</option>
<option value="banco3">Caja Rural</option>
                <option value="banco4">SabadellCam</option>
                <option value="banco3">Banco Popular</option>
                <option value="banco4">Bankinter</option>
                <option value="banco1">Caixa Penedes</option>
<option value="banco2">CatalunyaCaixa</option>
<option value="banco3">La Caixa</option>
                <option value="banco4">Triodos Bank</option>
</select></td>
          </tr>
          <tr>
            <td>Nº Cuenta:</td>
            <td><input type="text" name="entidad" size="2">
                <input type="text" name="oficina" size="2">
                <input type="text" name="digitocontrol" size="1">
                <input type="text" name="numerocuenta" size="8"></td>
          </tr>
          <tr>
            <td>Nº Tarjeta:</td>
            <td><input type="text" name="numerotarjeta"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><button>Guardar cambios</button>
<button>Cancelar</button></td>
          </tr>
        </table>
        </form>
    </div>
   
    <h3>Facturas</h3>
<div>
         <form action="" method="post" name="FormFacturas">
        <table width="608" border="0" cellspacing="10" class="tabla">
          <tr>
            <td width="115"> Facturas:</td>
            <td width="459"><select name="facturas">
<option>--Elegir--</option>
<option value="facturaenero13">Factura Enero 2013</option>
<option value="facturafebrero13">Factura Febrero 2013</option>
<option value="facturamarzo13">Factura Marzo 2013</option>
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button>Imprimir Factura</button></td>
          </tr>
          <tr>
            <td>Fecha de Inicio:</td>
            <td><select name="fechainiciodia">
<option>Dia</option>
</select>
<select name="fechainiciomes">
<option>Mes</option>
</select>
<select name="fechainicioano">
<option>Año</option>
</select></td>
          </tr>
          <tr>
            <td>Fecha de Fin:</td>
            <td><select name="fechafindia">
<option>Dia</option>
</select>
<select name="fechafinmes">
<option>Mes</option>
</select>
<select name="fechafinano">
<option>Año</option>
</select></td>
          </tr>
          <tr>
            <td width="115">Fecha de Emisión:</td>
            <td width="459"><select name="fechaemisiondia">
<option>Dia</option>
</select>
<select name="fechaemisionmes">
<option>Mes</option>
</select>
<select name="fechaemisionano">
<option>Año</option>
</select></td>
          </tr>
          <tr>
            <td> Tipo Tarifa:</td>
            <td><select name="tipotarifa">
<option>--Elegir--</option>
<option value="tarifa1">Por horas</option>
<option value="tarifa2">Semana</option>
<option value="tarifa3">Quincena</option>
<option value="tarifa4">Mes</option>
                <option value="tarifa5">Diagnostico</option>
<option value="tarifa6">Actividad</option>
<option value="tarifa7">On-line</option>
<option value="tarifa8">Otros</option>
</select></td>
          </tr>
          <tr>
            <td>Unidades:</td>
            <td><input type="text" name="unidades"></td>
          </tr>
          <tr>
            <td>Precio:</td>
            <td><input type="text" name="precio"></td>
          </tr>
          <tr>
            <td>Descuento:</td>
            <td><input type="text" name="descuento"></td>
          </tr>
          <tr>
            <td>%IVA:</td>
            <td><input type="text" name="iva"></td>
          </tr>
          <tr>
            <td>Total:</td>
            <td><input type="text" name="total"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><button>Guardar cambios</button>
<button>Cancelar</button></td>
          </tr>
        </table>
        </form>
            </div>
           

<h3>Datos Clinicos</h3>
<div>
         <br>
            Diagnostico: <input type="text" name="diagnostico"><br><br>
            Estadio: <select name="estadio">
<option>--Elegir--</option>
<option value="gds1">GDS1</option>
<option value="gds2">GDS2</option>
<option value="gds3">GDS3</option>
<option value="gds4">GDS4</option>
                <option value="gds5">GDS5</option>
<option value="gds6">GDS6</option>
<option value="gds7">GDS7</option>
</select><br><br>
            Fases Deterioro: <select name="fasesdeterioro">
<option>--Elegir--</option>
<option value="gds1">Leve</option>
<option value="gds2">Moderado Leve</option>
<option value="gds3">Moderado Grave</option>
<option value="gds4">Grave</option>
</select><br><br>
            Grados y Niveles de Dependencia: <select name="gradosnivelesdependencia">
<option>--Elegir--</option>
<option value="grado3nivel2">Grado III - Gran Dependencia - Nivel II</option>
<option value="grado3nivel1">Grado III - Gran Dependencia - Nivel I</option>
<option value="grado2nivel2">Grado II - Dependencia Severa - Nivel II</option>
<option value="grado2nivel1">Grado II - Dependencia Severa - Nivel I</option>
                <option value="grado1">Grado I - Dependencia Moderada</option>
</select><br><br>
            Alergias:<br> <textarea name="alergias" cols="150" rows="6"></textarea><br><br>
            Medicación:<br> <textarea name="medicacion" cols="150" rows="6"></textarea><br><br>
<br><textarea name="terapias" cols="150" rows="6"></textarea><br><br>
            Fecha 1ª Valoración:
<select name="fechaprimeravaloraciondia">
<option>Dia</option>
</select>
<select name="fechaprimeravaloracionmes">
<option>Mes</option>
</select>
<select name="fechaprimeravaloracionano">
<option>Año</option>
</select><br><br>
            Fecha Ultima Valoración:
<select name="fechaultimavaloraciondia">
<option>Dia</option>
</select>
<select name="fechaultimavaloracionmes">
<option>Mes</option>
</select>
<select name="fechaultimavaloracionano">
<option>Año</option>
</select><br><br>
            Escalas-Tests Aplicados: <select name="escalastestsaplicados">
<option>--Elegir--</option>
<option value="test1">AD8 (Alzheimer Disease 8)</option>
<option value="test2">Blessed</option>
<option value="test3">CRC: Cuestionario de Reserva Cognitiva</option>
<option value="test4">Cruz Roja</option>
                <option value="test5">Folstein: Mini Mental State Examination (MMSE)</option>
<option value="test6">Hamilton: Escala de depresión de Hamilton</option>
<option value="test7">Hughes:  Clinical Dementia Rating (CDR)</option>
                <option value="test8">Índice de estrés del cuidador (CSI)</option>
                <option value="test9">Katz</option>
                <option value="test10">Inventario neuropsiquiátrico (Neuropsychiatric Inventory, NPI)</option>
                <option value="test11">Lawton y Brody</option>
                <option value="test12">Lobo: Miniexamen Cognoscitivo (MEC)</option>
                <option value="test13">Pfeiffer: Short Portable Mental State Questionnaire (SPMSQ)</option>
                <option value="test14">T@M: Test de Alteración de Memoria</option>
                <option value="test15">SIS-16 (Stroke Impact Scale - 16, escala de impacto del ictus de 16 ítems)</option>
                <option value="test16">Test de dibujo del reloj</option>
                <option value="test17">Zarit: Escala de sobrecarga del cuidador</option>
</select><br><br><br>
            <button>Guardar cambios</button>
<button>Cancelar</button>
    </div>

<h3>Historial</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>

<h3>Observaciones</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>
   
    <h3>Recordatorios</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>
   
    <h3>Auto Mail</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>

</div>

<script type="text/javascript" >
$("#accordion").accordion();
$(".ClassButton").button();
$("button").button();
</script>

</body>
</html>

<?
if($correcto==0)
{
unset($_SESSION['nombre__']);
unset($_SESSION['apellido1__']);
}
?>
<? mysql_close($conexion); ?>

los errores estan en las sesiones pero nose donde este es el siguiente archivo el del 1º formulario que no me deja guardar 2 veces.   guardar_datos_usuario.php es este:

Código:
<?php
session_start();

$nombre = $_SESSION['nombre__'];
$apellido1 = $_SESSION['apellido1__'];

$nombre_ = $_POST['nombre'];
$apellido1_ = $_POST['apellido1'];



include("conexionbd.php");


$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion) or die ("Error1");

$correcto=0;
$result=mysql_query("select * from REC_usuarios where nombre='$nombre'",$conexion) or die ("Error2");

if($fila1=mysql_fetch_array($result))
{

$nombre=$fila1['nombre'];
$apellido1=$fila1['apellido1'];
$correcto=1;

}

if($correcto==1)
{
$result2=mysql_query("update REC_usuarios set nombre='$nombre_',apellido1='$apellido1_' where nombre='$nombre'",$conexion);

$_SESSION['nombre__']=$nombre_;
$_SESSION['apellido1__']=$apellido1_;

header("Location: editar_usuario.php");
}
else
{

echo "EL usuario o la contraseña es incorrecta.";
unset($_SESSION['nombre__']);
unset($_SESSION['apellido1__']);
}
mysql_close($conexion);
?>

y salta el echo este: EL usuario o la contraseña es incorrecta

la sentencia sql os la dejo tambien para facilitar la faena:

Código:
---
--- TABLA usuarios
---

CREATE TABLE REC_usuarios(
cod_usu INTEGER NOT NULL AUTO_INCREMENT,
nombre VARCHAR(40),
apellido1 VARCHAR(30),
apellido2 VARCHAR(30),
usuario VARCHAR(20),
contrasena VARCHAR(80),
email VARCHAR(30),
dni VARCHAR(10),
direccion VARCHAR(50),
poblacion VARCHAR(30),
codigopostal VARCHAR(10),
provincia VARCHAR(30),
telefonofijo VARCHAR(30),
movil VARCHAR(30),
sip VARCHAR(40),
fechanacimiento VARCHAR(20),
estadocivil VARCHAR(20),
sexo VARCHAR(10),
CONSTRAINT PKUSU PRIMARY KEY (cod_usu),
CONSTRAINT usuunica2 UNIQUE(usuario)
) ENGINE=InnoDB;

el que me ayude se lo agradecere muchisimo, asias x vuestra colaboracion
70  Programación / Bases de Datos / varios foreign key me da problemas en: 8 Noviembre 2012, 15:51 pm
me da problemas error 150 y no marca lineas ni nada pero probando el error esta en que tengo 3 foreign keys si quito los 2 ultimo me van bien y no es lo que quiero. ayuda for favor

Código:
--
-- TABLA clientes
--

CREATE TABLE TEC_clientes(
cod_usu TINYINT,
nombre VARCHAR(25) NOT NULL,
apellidos VARCHAR(35) NOT NULL,
nif VARCHAR(10) NOT NULL,
nombre_empresa VARCHAR(20),
forma_juridica VARCHAR(20),
cif VARCHAR(15),
pais VARCHAR(25) NOT NULL,
provincia VARCHAR(20) NOT NULL,
localidad VARCHAR(20) NOT NULL,
codigo_postal NUMERIC(4) NOT NULL,
direccion VARCHAR(35) NOT NULL,
telefono VARCHAR(10) NOT NULL,
email VARCHAR(35) NOT NULL,
usuario VARCHAR(20) NOT NULL,
contrasena VARCHAR(60) NOT NULL,
CONSTRAINT PKUSU PRIMARY KEY (cod_usu),
CONSTRAINT usuunica2 UNIQUE(usuario)
) ENGINE=InnoDB;


Código:
---
--- TABLA servidores
---

CREATE TABLE TEC_servidores(
descripcion TINYINT,
email TINYINT NOT NULL,
telefono TINYINT NOT NULL,
cod_usu TINYINT NOT NULL,
CONSTRAINT PKDESCRIPCION PRIMARY KEY (descripcion),
CONSTRAINT FKUSUA FOREIGN KEY (cod_usu) REFERENCES TEC_clientes(cod_usu) ON DELETE CASCADE,
CONSTRAINT FKTELEFONO FOREIGN KEY (telefono) REFERENCES TEC_clientes(telefono) ON DELETE CASCADE,
CONSTRAINT FKEMAIL FOREIGN KEY (email) REFERENCES TEC_clientes(email) ON DELETE CASCADE
) ENGINE=InnoDB;
Páginas: 1 2 3 4 5 6 [7] 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines