🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2259

Re: Otra consulta PHP

#2259
From: gato2005_cl
Date: Fri, 10 Feb 2006 20:44
211 lines
8563 bytes
La �nica forma que se me ocurre es tener 2 p�ginas similares:

La primera es el formulario en si, la segunda es el formulario m�s el 
c�digo del proceso de la base de datos.

La segunda funciona como archivo de respuesta y proceso al primer 
formulario, generando el formulario y un texto cercano a la clave donde 
se indique la existencia de clave repetida o la falta de alg�n campo 
junto con el c�digo de proceso.

En consecuencia, la comprobacion del formulario y la existencia de los 
campos es mejor generarla.

gato2005_cl escribi�:
> Esencialmente es desperdicio de recursos acceder dos veces a la tabla.
> Incluye en el archivo de respuesta dek formulario la comprobacion de la 
> existencia del ingreso y un retorno adecuado a el. Al retornar regresas 
> a la direccion del archivo que contiene el form, marcando el elemento 
> que esta repetido.
> Para ser m�s visible podrias incluir una etiqueta de texto oculta que 
> especificara el elemento repetido.
> 
> Wegh escribi�:
>> Si amigo, si lo tengo asi, esta bien la bdd, no permite ingresar 2 
>> valores
>> iguales, pero lo que necesito es que el usuario pueda darse cuenta que 
>> sus
>> datos no fueron ingresados, porque el nombre se repetia, y mandar ese 
>> error
>> es lo que no me resulta.
>>
>> "RaCo" <shopper@nospamvtr.borramenet> escribi� en el mensaje
>> news:dshup9$ka0$1@news.nivel5.cl...
>>> 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:&nbsp;
>>>>         <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:&nbsp;&nbsp;&nbsp;&nbsp;
>>>>         <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:&nbsp; &nbsp;&nbsp;&nbsp;
>>>> <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:&nbsp;
>>>>         <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:&nbsp;&nbsp;&nbsp;<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">&nbsp;</p>
>>>>       </td>
>>>>     </tr>
>>>>   </table>
>>>>     </center>
>>>>   </div>
>>>>   <p align="center"><font size="2">
>>>>     <input type="submit" name="Submit" value="Guardar">
>>>>     </font></p>
>>>>   </form>
>>>> <p>&nbsp;</p>
>>>> </body>
>>>> </html>
>>>>
>>>>
>>
>>
Technical Details
Message-ID: <dsiu03$s49$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-mail
References: <dsfirg$4vq$1@news.nivel5.cl> <dshup9$ka0$1@news.nivel5.cl> <dsiehg$o2v$1@news.nivel5.cl> <dsii5g$p7c$1@news.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,1b87e083a8cadad4
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,CP1252
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: gato2005_cl <misforos.chileSINESTO@gmail.com>
Newsgroups: chile.comp.programacion
Subject: Re: Otra consulta PHP
Date: Fri, 10 Feb 2006 17:44:12 -0300
Organization: Varios
Lines: 211
Message-ID: <dsiu03$s49$1@news.nivel5.cl>
References: <dsfirg$4vq$1@news.nivel5.cl> <dshup9$ka0$1@news.nivel5.cl> <dsiehg$o2v$1@news.nivel5.cl> <dsii5g$p7c$1@news.nivel5.cl>
NNTP-Posting-Host: pc-178-51-86-200.cm.vtr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.nivel5.cl 1139604292 28809 200.86.51.178 (10 Feb 2006 20:44:52 GMT)
X-Complaints-To: news@news.nivel5.cl
NNTP-Posting-Date: Fri, 10 Feb 2006 20:44:52 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Win98; es-ES; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.7 Mnenhy/0.7.3.0
In-Reply-To: <dsii5g$p7c$1@news.nivel5.cl>