Comentarios en la página de codificación.

  • digisales
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Abr 21, 2009
  • Mensajes: 9
  • Status: Offline

Nota Junio 27th, 2009, 12:02 pm

Durante los últimos meses he estado haciendo un esfuerzo para aprender PHP por mi cuenta. Yo he creado algunas páginas web que las llamadas de datos de MySQL, y durante mi prueba de que todos parecen estar funcionando bien.

Im considerar realmente utilizando estas páginas en un sitio web, pero como soy nuevo en esto, yo aún no tienen confianza en ellos. Si es posible, como si alguien Id a buscar a través de la codificación He publicado más abajo, y me dan su opinión. Básicamente, lo que he hecho es tomar una página real, despojado a cabo todo el HTML, y dejó sólo el PHP.

Estoy interesado en cualquier comentario acerca de cómo se estructura esta página, pero me preocupa especialmente que no tengo algo en ella que podría interrumpir mis servidores de hosting . A lo largo de la página, varios bits de datos se llama desde dos bases de datos diferentes , Y yo no quiero crear un problema de cualquier tipo -- como dejar las conexiones abiertas, por ejemplo, . Gracias por cualquier ayuda.


Código: [ Select ]
<HTML><HEAD><TITLE></TITLE>
</HEAD>
<BODY>
 
<?php
$db = mysql_connect("localhost", "user","pwd");
mysql_select_db("dbase1", $db);
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["f_name"]; echo" ".$myrow["l_name"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["f_name"]; echo" ".$myrow["l_name"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["ref_by"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["co"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["onrf"]; echo" ".$myrow["onrl"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["co"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["onrf"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["onrp"];;
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["onre"];;
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["onrf"];;
?>
 
--- VARIOUS HTML --------
 
<?php
$db = mysql_connect("localhost", "user","pwd");
mysql_select_db("DBASE2", $db);
$id = mysql_real_escape_string($_GET['id']);
$result = mysql_query("SELECT col FROM users WHERE id='X'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["col"];
?>
 
--- VARIOUS HTML --------
 
<?php
$id = mysql_real_escape_string($_GET['id']);
$result = mysql_query("SELECT col FROM users WHERE id='X'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["col"];
?>
 
--- VARIOUS HTML --------
 
<?php
$db = mysql_connect("localhost", "user","pwd");
mysql_select_db("dbase1", $db);
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["f_name"]; echo" ".$myrow["l_name"];
?>
 
--- VARIOUS HTML --------
 
<?php
$a = mysql_real_escape_string($_GET['a']);
$result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
echo $myrow["f_name"]; echo" ".$myrow["l_name"];
?>
 
--- VARIOUS HTML --------
 
</BODY></HTML>
  1. <HTML><HEAD><TITLE></TITLE>
  2. </HEAD>
  3. <BODY>
  4.  
  5. <?php
  6. $db = mysql_connect("localhost", "user","pwd");
  7. mysql_select_db("dbase1", $db);
  8. $a = mysql_real_escape_string($_GET['a']);
  9. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  10. $myrow = mysql_fetch_array($result);
  11. echo $myrow["f_name"]; echo" ".$myrow["l_name"];
  12. ?>
  13.  
  14. --- VARIOUS HTML --------
  15.  
  16. <?php
  17. $a = mysql_real_escape_string($_GET['a']);
  18. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  19. $myrow = mysql_fetch_array($result);
  20. echo $myrow["f_name"]; echo" ".$myrow["l_name"];
  21. ?>
  22.  
  23. --- VARIOUS HTML --------
  24.  
  25. <?php
  26. $a = mysql_real_escape_string($_GET['a']);
  27. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  28. $myrow = mysql_fetch_array($result);
  29. echo $myrow["ref_by"];
  30. ?>
  31.  
  32. --- VARIOUS HTML --------
  33.  
  34. <?php
  35. $a = mysql_real_escape_string($_GET['a']);
  36. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  37. $myrow = mysql_fetch_array($result);
  38. echo $myrow["co"];
  39. ?>
  40.  
  41. --- VARIOUS HTML --------
  42.  
  43. <?php
  44. $a = mysql_real_escape_string($_GET['a']);
  45. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  46. $myrow = mysql_fetch_array($result);
  47. echo $myrow["onrf"]; echo" ".$myrow["onrl"];
  48. ?>
  49.  
  50. --- VARIOUS HTML --------
  51.  
  52. <?php
  53. $a = mysql_real_escape_string($_GET['a']);
  54. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  55. $myrow = mysql_fetch_array($result);
  56. echo $myrow["co"];
  57. ?>
  58.  
  59. --- VARIOUS HTML --------
  60.  
  61. <?php
  62. $a = mysql_real_escape_string($_GET['a']);
  63. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  64. $myrow = mysql_fetch_array($result);
  65. echo $myrow["onrf"];
  66. ?>
  67.  
  68. --- VARIOUS HTML --------
  69.  
  70. <?php
  71. $a = mysql_real_escape_string($_GET['a']);
  72. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  73. $myrow = mysql_fetch_array($result);
  74. echo $myrow["onrp"];;
  75. ?>
  76.  
  77. --- VARIOUS HTML --------
  78.  
  79. <?php
  80. $a = mysql_real_escape_string($_GET['a']);
  81. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  82. $myrow = mysql_fetch_array($result);
  83. echo $myrow["onre"];;
  84. ?>
  85.  
  86. --- VARIOUS HTML --------
  87.  
  88. <?php
  89. $a = mysql_real_escape_string($_GET['a']);
  90. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  91. $myrow = mysql_fetch_array($result);
  92. echo $myrow["onrf"];;
  93. ?>
  94.  
  95. --- VARIOUS HTML --------
  96.  
  97. <?php
  98. $db = mysql_connect("localhost", "user","pwd");
  99. mysql_select_db("DBASE2", $db);
  100. $id = mysql_real_escape_string($_GET['id']);
  101. $result = mysql_query("SELECT col FROM users WHERE id='X'", $db) or die(mysql_error());
  102. $myrow = mysql_fetch_array($result);
  103. echo $myrow["col"];
  104. ?>
  105.  
  106. --- VARIOUS HTML --------
  107.  
  108. <?php
  109. $id = mysql_real_escape_string($_GET['id']);
  110. $result = mysql_query("SELECT col FROM users WHERE id='X'", $db) or die(mysql_error());
  111. $myrow = mysql_fetch_array($result);
  112. echo $myrow["col"];
  113. ?>
  114.  
  115. --- VARIOUS HTML --------
  116.  
  117. <?php
  118. $db = mysql_connect("localhost", "user","pwd");
  119. mysql_select_db("dbase1", $db);
  120. $a = mysql_real_escape_string($_GET['a']);
  121. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  122. $myrow = mysql_fetch_array($result);
  123. echo $myrow["f_name"]; echo" ".$myrow["l_name"];
  124. ?>
  125.  
  126. --- VARIOUS HTML --------
  127.  
  128. <?php
  129. $a = mysql_real_escape_string($_GET['a']);
  130. $result = mysql_query("SELECT * FROM Xref WHERE a='$a'", $db) or die(mysql_error());
  131. $myrow = mysql_fetch_array($result);
  132. echo $myrow["f_name"]; echo" ".$myrow["l_name"];
  133. ?>
  134.  
  135. --- VARIOUS HTML --------
  136.  
  137. </BODY></HTML>
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 27th, 2009, 12:02 pm

  • Nightslyr
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Sep 21, 2005
  • Mensajes: 274
  • Status: Offline

Nota Junio 27th, 2009, 3:14 pm

1. En general, su estructura de PHP es un poco apagado. Si bien se puede cambiar libremente entre PHP y HTML en sus archivos, su general no es una buena idea. La razón es que en sus páginas crecer en complejidad, se vuelve más difícil de mantener cuando diversas tecnologías de sembrado en todo. Usted debe procesar todos los datos en primer lugar, construir la salida y, a continuación, enviar el código HTML al final.

2. Habida cuenta de cuántas veces se ejecuta el mismo código, debe refactorizar ella. ¿Usted necesitar continuamente a tomar datos de la base de datos? ¿Por qué no podía cargar todo al principio, luego que la producción cuando sea necesario (para, de nuevo, mi primer punto de eco)? ¿Por qué dos dbs? ¿Por qué no diferentes tablas en la misma base de datos?

3. Usted debe verificar que $ a es un valor legítimo que manejar con gracia y si no es más que simplemente haciéndose eco de un error de mysql (que son feas) y dejar el guión.
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Junio 27th, 2009, 7:18 pm

No es necesario repetir los códigos, como lo hizo (como Nightslyr mencionados). Usted puede hacer la mayoría de las cosas de PHP, incluso antes de que poner <html> . El único que habría de PHP en la parte HTML bucles es como el eco y el formato de los arrays.

O usted puede aprender el uso de la lista () explotar con (). Esas podrían ser útiles también.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Nightslyr
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Sep 21, 2005
  • Mensajes: 274
  • Status: Offline

Nota Junio 28th, 2009, 2:03 pm

Bogey escribió:
El PHP único que tendría en la parte HTML en sí es como hacerse eco de los bucles y matrices de formato.


Si se hace bien, usted wouldnt incluso necesitamos. Theres realmente ninguna razón por la que no podría construir estas estructuras en la fase de procesamiento, almacenarlos en variables, y simplemente eco de ellas en el punto exacto en el documento. Para cosas como la construcción de tablas de base de datos fuera de PP, sólo parece más fácil que antes de cualquier intento de HTML se envía...de esa manera, si los theres un error, solo podía hacer eco de una cadena vacía (donde la construcción de salida hacia arriba sería), seguido por un mensaje de error.

Id prefiero hacer algo como:
Código: [ Select ]
<?php
   //assume I've successfully connected to my db
 
   $results = mysql_query("SELECT * FROM my_database");
   $output = "";
   $error = "";
 
   if($results)
   {
      $output .= "<table>";
 
      while($row = mysql_fetch_assoc($results))
      {
         $output .= "<tr><td>{$row['name']}</td><td>{$row['data']}</td></tr>";
      }
 
      $output .= "</table><br />";
   }
   else
   {
      $error .= "Could not fetch results from the database.  Please contact the webmaster if the problem persists.";
   }
?>
 
<!-- elsewhere in the document -->
 
<div id="content">
   <?php echo $output; ?>
   <span id="error"><?php echo $error; ?></span>
</div>
  1. <?php
  2.    //assume I've successfully connected to my db
  3.  
  4.    $results = mysql_query("SELECT * FROM my_database");
  5.    $output = "";
  6.    $error = "";
  7.  
  8.    if($results)
  9.    {
  10.       $output .= "<table>";
  11.  
  12.       while($row = mysql_fetch_assoc($results))
  13.       {
  14.          $output .= "<tr><td>{$row['name']}</td><td>{$row['data']}</td></tr>";
  15.       }
  16.  
  17.       $output .= "</table><br />";
  18.    }
  19.    else
  20.    {
  21.       $error .= "Could not fetch results from the database.  Please contact the webmaster if the problem persists.";
  22.    }
  23. ?>
  24.  
  25. <!-- elsewhere in the document -->
  26.  
  27. <div id="content">
  28.    <?php echo $output; ?>
  29.    <span id="error"><?php echo $error; ?></span>
  30. </div>


En lugar de:
Código: [ Select ]
<?php
   $results = mysql_query("SELECT * FROM my_database");
?>
 
<!-- ... -->
 
<div id="content">
   <?php
      if($results)
      {
         echo "<table>";
 
         while($row = mysql_fetch_assoc($results))
         {
            echo "<tr><td>{$row['name']}</td><td>{$row['data']}</td></tr>";
         }
 
         echo "</table><br />";
      }
      else
      {
         echo "<span id=\"error\">Could not fetch results from the database.  Please contact the webmaster if the problem persists.</span>";
      }
   ?>
</div>
  1. <?php
  2.    $results = mysql_query("SELECT * FROM my_database");
  3. ?>
  4.  
  5. <!-- ... -->
  6.  
  7. <div id="content">
  8.    <?php
  9.       if($results)
  10.       {
  11.          echo "<table>";
  12.  
  13.          while($row = mysql_fetch_assoc($results))
  14.          {
  15.             echo "<tr><td>{$row['name']}</td><td>{$row['data']}</td></tr>";
  16.          }
  17.  
  18.          echo "</table><br />";
  19.       }
  20.       else
  21.       {
  22.          echo "<span id=\"error\">Could not fetch results from the database.  Please contact the webmaster if the problem persists.</span>";
  23.       }
  24.    ?>
  25. </div>


En general, la OMI, que sólo se ve más limpio, y es más fácil de mantener, si el tratamiento se realizaron antes de la salida se envía.
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Junio 28th, 2009, 8:50 pm

Didnt pensar en que...
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Junio 29th, 2009, 5:14 pm

Bueno aquí voy de nuevo :)

Después de haber incrustado en el código HTML no es más que una muy mala idea. Y no mirar a la aplicación de un mecanismo de plantillas y el código llenar los espacios en blanco si se quiere.

Cosas como la red de puntos de vista de lo que puede querer hacer es definir dentro de Cuerdas estático algún tipo de "etiqueta" biblioteca. de esta forma usted puede llamar a la cadena estática con un nombre de variable de amistad y el formato que usa str_replace o los gustos.

Let me know if I debe ir más profundo con esta, hey, prehaps un tutorial está en orden!
Watch me grow
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 29th, 2009, 6:59 pm

Perros rabiosos, ¿no hacer mucho de trabajo ya cualquier PHP? Im tipo de curiosidad por escuchar lo que tiene que decir sobre algunos de los actuales marcos populares como el Zend, Cake y CodeIgniter en los marcos de referencia para el modelo MVC y plantillas.
#define NULL (::rand() % 2)
  • Nightslyr
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Sep 21, 2005
  • Mensajes: 274
  • Status: Offline

Nota Junio 30th, 2009, 4:43 am

Rabid Dog escribió:
Bueno aquí voy de nuevo :)

Después de haber incrustado en el código HTML no es más que una muy mala idea. Y no mirar a la aplicación de un mecanismo de plantillas y el código llenar los espacios en blanco si se quiere.

Cosas como la red de puntos de vista de lo que puede querer hacer es definir dentro de Cuerdas estático algún tipo de "etiqueta" biblioteca. de esta forma usted puede llamar a la cadena estática con un nombre de variable de amistad y el formato que usa str_replace o los gustos.

Let me know if I debe ir más profundo con esta, hey, prehaps un tutorial está en orden!


Fwiw, creo que un tutorial de plantillas es una gran idea.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de Usuario
  • Registrado: Jul 25, 2005
  • Mensajes: 2735
  • Loc: Nashville, TN
  • Status: Offline

Nota Junio 30th, 2009, 6:21 am

Quote:
hey, prehaps un tutorial está en orden!


Hes no sólo volver damas y caballeros, hes volver con una venganza :) BM perro rabioso. Im alegra ver que estás con lo que su conocimiento a la prog foro.
I'd love to change the world, but they won't give me the source code.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Junio 30th, 2009, 12:28 pm

Sé que este no es el lugar para hacerlo, pero me va a hacer que de todos modos :)

Da las gracias a todos por la cálida bienvenida y espero poder ser productivo en el foro de nuevo, pido disculpas por estar fuera tanto tiempo y tengo un montón de cosas nuevas para compartir HOOAH!
Watch me grow
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Junio 30th, 2009, 12:32 pm

SpooF escribió:
Perros rabiosos, ¿no hacer mucho de trabajo ya cualquier PHP? Im tipo de curiosidad por escuchar lo que tiene que decir sobre algunos de los actuales marcos populares como el Zend, Cake y CodeIgniter en los marcos de referencia para el modelo MVC y plantillas.



Spoof Lamentablemente yo soy el tipo que recons puedo hacerlo mejor que todos los demás :) Pero mi atención muchos en los últimos tres años ha sido la empresa de integración de aplicaciones utilizando principalmente Java, C #y SOAP.

Acabo de encontrar PHP a no ser una solución empresarial que es difícil encontrar 2 a.m. código de error que recoge un compilador para usted. Dicho esto me interesaría tener un violín con ellos y hacer mi feed back :)
Watch me grow

Publicar Información

  • Total de mensajes en este tema: 11 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 113 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC