Foros del Web » Programando para Internet » PHP »

No entiendo este codigo

Estas en el tema de No entiendo este codigo en el foro de PHP en Foros del Web. 1. <?php 2. //AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS. 3. function quitar($mensaje) 4. { 5. $mensaje = str_replace("<","&lt;",$mensaje); 6. ...
  #1 (permalink)  
Antiguo 16/04/2010, 18:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 9 meses
Puntos: 2
Información No entiendo este codigo

1.
<?php
2.
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
3.
function quitar($mensaje)
4.
{
5.
$mensaje = str_replace("<","&lt;",$mensaje);
6.
$mensaje = str_replace(">","&gt;",$mensaje);
7.
$mensaje = str_replace("\'","'",$mensaje);
8.
$mensaje = str_replace('\"',"&quot;",$mensaje);
9.
$mensaje = str_replace("\\\\","\\",$mensaje);
10.
return $mensaje;
11.
}
12.

13.
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
14.
{
15.
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
16.
$result = mysql_query($sql);
17.
if($row = mysql_fetch_array($result))
18.
{
19.
echo "Error, nick escogido por otro usuario";
20.
}
21.
else
22.
{
23.
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
24.
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
25.
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
26.
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
27.
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
28.
$sql .= ")";
29.
mysql_query($sql);
30.
echo "Registro exitoso!";
31.
}
32.
mysql_free_result($result);
33.
}
34.
else
35.
{
36.
echo "Debe llenar como minimo los campos de email y password";
37.
}
38.
mysql_close();
39.
?>


Mi pregunta es, cual es la funcion de $row en la linea 17 ?
guardamos el resultado en un array asociativo y se lo asignamos a una variable $row? no entiendo como eso puede indicar si existe o no existe el nick y email, alguien me podria explicar como funciona eso ?

Grax !
  #2 (permalink)  
Antiguo 16/04/2010, 18:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No entiendo este codigo

Pues de hecho es una forma mala de hacer las cosas, es mejor usar mysql_num_rows para eso.

Saludos.
  #3 (permalink)  
Antiguo 16/04/2010, 19:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: No entiendo este codigo

Pero podrias explicarme, soy nuevo en PHP, te dire lo que entiendo:

15. /*Aqui se preparo la consulta, para confirmar si el nick introducido por el usuario existe*/
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
16. /* Aqui se envio la consulta, y el resultado se guardo en $result*/
$result = mysql_query($sql);
17. /* Una condicion que no entiendo que tiene que ver, para mi esta haciendo lo siguiente: si a la variable $row se le asigna el $resultado en un array asociativo, devolver error*/
if($row = mysql_fetch_array($result))

no entiendo el fetch, ni se como implementaria el num_rows segun tengo entendido sirve para contar las filas, tonces como seria la manera correcta y por que y como funciona ?

grax !
  #4 (permalink)  
Antiguo 16/04/2010, 19:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: No entiendo este codigo

Cuando existe mysql devuelve una fila ?

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:07.