Article View: chile.comp.programacion
Article #2256Re: Otra consulta PHP
From: RaCo
Date: Fri, 10 Feb 2006 11:52
Date: Fri, 10 Feb 2006 11:52
168 lines
6483 bytes
6483 bytes
Amigo, tal como te dice otra persona por ah�, en Bases de Datos, cuando
tienes un dato que no se puede repetir, es necesario que lo pongas como
Llave �nica.
Me explico, en ocasiones, cuando tienes una Tabla Automovil, �sta
deber�a tener un atributo Patente. Obviamente dos autos no pueden tener
la Misma patente. �sto es lo que los Inform�ticos denominamos Integridad
de una Base de datos, espec�ficamente de Dominio, donde una llave no
puede contener valores nulos ni repetidos.
Por qu� te doy esta lata? b�sicamente porque lo que tu preguntas no
deber�a ser abordado con PHP (o el lenguaje de programaci�n que uses
para tu sistema), �so es parte netamente de la Base de datos, si "Carda"
es un elemento un�voco de una Entidad en tu base de datos, pues debes
decirle a la Base de datos que "Carda" es �nica e irrepetible, y es el
Sistema Gestor de Base de datos (MySQL, Oracle o qu� se yo qu� motor
usas) quien debe impedir que el dato repetido se ingrese.
Si tu modelo de datos actual te permite ingresar ese dato repetido
entonces tu modelo tiene series fallas de seguridad e integridad.
Imaginate qu� pasar�a si alguien se mete a tu base de datos por otro
medio que no sea por tu p�gina en PHP e ingrese varios datos "Carda"
repetidos, pues si tu BD lo permite, el error no se captar�, y as�
sucesivamente.
Te recomiendo que le eches un ojo a internet y leas algunos libros o
cursos cortos de Modelamiento de datos y Bases de datos.
Wegh wrote:
> Amigos, quiero pedirles nuevamente a los entendidos en PHP, necesito evitar
> que se ingresen 2 "Carda" con el mismo nombre, como lo puedo hacer.
> Les mando el c�digo donde pido los datos de la "Carda" para ser ingresados a
> la Base de datos.
>
> De antemano muchas gracias por la ayuda y la paciencia.
>
>
>
> <html>
> <head>
>
> <script type="text/javascript">
> function validate()
> {
> x=document.ingreso_carda
> nombre_carda=x.nombre_carda.value
> ano_carda=x.ano_carda.value
> marca_carda=x.marca_carda.value
> ancho_carda=x.ancho_carda.value
> origen_carda=x.origen_carda.value
> submitOK="True"
>
> if (nombre_carda=="")
> {
> alert("Por favor ingrese nombre de carda")
> submitOK="False"
> }
> else
> if (ano_carda=="")
> {
> alert("Por favor ingrese A�o de validaci�n")
> submitOK="False"
> }
>
> else
> if (marca_carda=="")
> {
> alert("Por favor ingrese Marca de la carda")
> submitOK="False"
> }
>
> else
> if (ancho_carda=="")
> {
> alert("Por favor ingrese ancho de carda")
> submitOK="False"
> }
>
> else
> if (origen_carda=="")
> {
> alert("Por favor ingrese origen de la carda")
> submitOK="False"
> }
>
> if (submitOK=="False")
> {
> return false
> }
> }
> </script>
>
>
>
> <title>Textiles Zahr S.A.</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> </head>
>
> <body text="#0000A0" link="#0000A0"
> vlink="#0000A0" alink="#0000A0">
> <p align="center"><b><font face="Garamond" size="3">INGRESO
> CARDA</font></b></p>
>
>
> <form action="ingreso_carda_2.php" name="ingreso_carda" target="principal"
> id="ingreso_carda" onsubmit="return validate()" method="POST">
> <div align="center">
> <center>
> <table width="602" border="0">
> <tr>
> <td width="276" bgcolor="#FFFFFF" bordercolor="#FFFFFF"
> bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
> <p align="center">
> <font size="2" face="Garamond">Nombre:
> <input name="nombre_carda" type="text" id="nombre" size="20">
> </font></p>
> </td>
> <td width="310" bgcolor="#FFFFFF" bordercolor="#FFFFFF"
> bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
> <p align="center">
> <font size="2" face="Garamond">A�o
> Fabricaci�n:
> <input name="ano_carda" type="text" id="ano_carda" size="20">
> </font></p>
> </td>
> </tr>
> <tr>
> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF"
> bordercolordark="#FFFFFF" width="276">
> <p align="center">
> <font size="2" face="Garamond">Marca:
> <input name="marca_carda" type="text" id="rut" size="20">
> </font></p>
> </td>
> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF"
> bordercolordark="#FFFFFF" width="310">
> <p align="center">
> <font size="2" face="Garamond">Ancho de Trabajo:
> <input name="ancho_carda" type="text" id="telefono" size="20">
> </font></p>
> </td>
> </tr>
> <tr>
> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF"
> bordercolordark="#FFFFFF" width="276">
> <p align="center">
> <font size="2" face="Garamond">Origen: <input
> name="origen_carda" type="text" id="direccion" size="20">
> </font></p>
> </td>
> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF"
> bordercolordark="#FFFFFF" width="310">
> <p align="center"> </p>
> </td>
> </tr>
> </table>
> </center>
> </div>
> <p align="center"><font size="2">
> <input type="submit" name="Submit" value="Guardar">
> </font></p>
> </form>
> <p> </p>
> </body>
> </html>
>
>
Technical Details
Message-ID:
<dshup9$ka0$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mailReferences:
<dsfirg$4vq$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,1b87e083a8cadad4 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!not-for-mail From: RaCo <shopper@nospamvtr.borramenet> Newsgroups: chile.comp.programacion Subject: Re: Otra consulta PHP Date: Fri, 10 Feb 2006 08:52:06 -0300 Organization: Varios Lines: 168 Message-ID: <dshup9$ka0$1@news.nivel5.cl> References: <dsfirg$4vq$1@news.nivel5.cl> NNTP-Posting-Host: pc-134-95-239-201.cm.vtr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.nivel5.cl 1139572329 20800 201.239.95.134 (10 Feb 2006 11:52:09 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Fri, 10 Feb 2006 11:52:09 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en In-Reply-To: <dsfirg$4vq$1@news.nivel5.cl>