Foros del Web » Programando para Internet » PHP »

como se interpretan estas funciones habitales en php?

Estas en el tema de como se interpretan estas funciones habitales en php? en el foro de PHP en Foros del Web. necesito ayuda con la interpretacion de este codigo para sacarme la duda sobre un par de funciones habituales: Si de aqui cargo 3 modulos...($foro, $guardar ...
  #1 (permalink)  
Antiguo 05/09/2012, 21:41
Avatar de g0rd0inf0rmatic0  
Fecha de Ingreso: agosto-2012
Ubicación: Las Piedras
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Información como se interpretan estas funciones habitales en php?

necesito ayuda con la interpretacion de este codigo para sacarme la duda sobre un par de funciones habituales:

Si de aqui cargo 3 modulos...($foro, $guardar y $escribir) y luego de haberlos cargado compruebo si no estàn vacios, y muestro los datos de la clase "lista.php"...

index.php
Código:
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<title>Foro PWeb</title>
</head>
<body>
<? 
$foro = $_GET["foro"];
$guardar = $_GET["guardar"];
$escribir = $_GET["escribir"];
include 'conexion.php';
if ($guardar != '')include 'guardar.php';
if ($escribir != '')include 'escribir.php';
if ($foro != '')include 'foro.php';
if (($guardar == '') && ($escribir == '') && ($foro == ''))include 'lista.php';
?>
</body>
</html>
Al clickar cualquiera de los foros de abajo que en ves de ser:
<a href="foro1.php">Foro1</a> (no hace falta decir que el archivo foro1.php no existe)
acà la magia de poner: <a href="?foro=loqueseteocurra"></a> crea una instancia y la guarda en la base de datos creando una secciòn del foro a partir del "nombre de la url" [glow=red,2,300](si alguien sabe mejor como funciona que lo explique por favor)
[/glow]


lista.php
Código:
<a href="?foro=foro1">Foro 1</a>
<a href="?foro=otroforoinventado>Otro foro</a>
"foro.php" cargado como el modulo $foro en el index junto con $escribir y $guardar y la clase lista que tiene los links y es llamado con el atributo o lo que sea "?foro=" (creo XD)...

El "foro.php" se crea una tabla con 2 celda horizontales.
la celda de arriba tiene el titulo y debajo el cuerpo del post.
la celda de abajo tiene recibe un link "?escribir="...puntos suspensivos..XD>escribir mensaje</a> con el nombre del foro seguido automaticamente en la url delante del signo de igual(=) y te envia a "escribir.php"

foro.php
Código:
<table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<? 
$sql = "SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$res=mysql_query($sql,$db);
while ($row=mysql_fetch_array($res)){
$rows = 1;
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><? echo $row["autor"]; ?></b><br />
    <? echo htmlentities($row["mensaje"]); ?><br />
    </font><b><font face="Verdana" size="2">
    <a href="?foro=<? echo $row["id"]; ?>"><?
    echo mysql_result(mysql_query("SELECT COUNT(id) FROM foro WHERE foro = '".$row["id"]."'",$db),0);
?> respuestas</a></font></b></td>
  </tr><?
}
if($rows == ''){ ?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2">No hay mensajes en este foro</font></td>
  </tr><?
}
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><a href="?escribir=<?
echo $foro;
?>">Escribir mensaje</a><?
$arriba = @mysql_result(mysql_query("SELECT foro FROM foro WHERE id = '".$foro."'",$db),0);
if($arriba != '')echo ' | <a href="?foro='.$arriba.'">Volver</a>';
else echo ' | <a href="?foro=">Volver</a>';
?></font></b></td>
  </tr>
</table>
aqui se crea un form con el "method="POST" que supuestamente al clicarlo lo va a crear al post en una instancia tomando la url de arriba (creo) y de ahi llama a $guardar que se encarga de guardarlo en la base de datos.
luego se crea un campo de texto para el titulo, con la fuente verdana y de tamaño "2", con la etiqueta "nick" y se le da un valor:

[ [glow=red,2,300]value="<? echo $_POST["nick"];[/glow] ]

no se cual es el valor de $_POST aunque intuyo que lo obtiene de lo que se haya escrito en la caja de texto con la etiqueta nick (que quiera correjir mis animaladas de programaciòn serà bien recibido en los comentarios) luego se crea el "textarea" que recibira el cuerpo del post.
entonces... verdana "2"... aparece el mismo metodo usado arriba

<? echo $_POST["texto"];

y el boton de enviar que ejecuta este codigo:

"?guardar=<? echo $escribir; ?>"


escribir.php
Código:
	<form method="POST" action="?guardar=<? echo $escribir; ?>">
		<p><b><font size="2" face="Verdana">Nick:<br />
		</font></b><font face="Verdana"><b><input type="text" name="nick" size="20" value="<? echo $_POST["nick"]; ?>"/></b></font></p>
		<p><b><font face="Verdana" size="2">Texto:<br />
		<textarea rows="6" name="texto" cols="62"><? echo $_POST["texto"]; ?></textarea></font></b></p>
		<p><input type="Submit" value="Enviar" /></p>
	</form>
guardar.php llamada anteriormente por el codigo ?guardar=<? echo $escribir; ?>
comprueba si el valor de $_post de nick (o algo asì) y si esta vacio muestra un mensaje,
y el $escribir = $guardar ni idea que hace en realidad.


abajo pasa lo mismo con el cuerpo del post, y aqui:

$sql = "INSERT into foro (autor,mensaje,foro) VALUES ('".$_POST["nick"]."','".$_POST["texto"]."','".$guardar."')";
mysql_query($sql,$db);
$foro = $guardar;
se inserta en la base de datos si alguien puede explicar como interpreta este codigo
con el temita de los $_POST y su valor no muy claro al igual que el $foro= $guardar

guardar.php
Código:
<?
if($_POST["nick"] == ''){
   echo '<font color="#ff0000">Pon un nombre de usuario</font>';
   $escribir = $guardar;
}
elseif($_POST["texto"] == ''){
   echo '<font color="#ff0000">Escribe un texto</font>';
   $escribir = $guardar;
}
else {
   $sql = "INSERT into foro (autor,mensaje,foro) VALUES ('".$_POST["nick"]."','".$_POST["texto"]."','".$guardar."')";
   mysql_query($sql,$db);
   $foro = $guardar;
}
?>
eso es todo no crei importante el postear la base de datos (el que la quiera mande mp)
lo que desconozco lo deje comentado claramente entre mis animaladas explicativa acerca de como interpreto yo el funcionamiento del code.
  #2 (permalink)  
Antiguo 05/09/2012, 22:01
Avatar de xIamAlex  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 23
Respuesta: como se interpretan estas funciones habitales en php?

Solo una expresión ->

Haha, típico, la gente ve mucho código y se va , mira tus interpretaciones son válidas, al parecer eres un poco nuevo y necesitas unas que otras aclaraciones:

PHP lo que hace es generar HTML, así de sencillo, como has explicado, cuando pones pagina.php?parametro=esto, lo que haces es generar una URL en el HTML que al ser clickeada redireccionará a la página en cuestión enviando un parámetro. Pero, considerando a que se trabaja directamente con la base de datos, deberías validar muy buen los datos $_GET no vayan a inyectártela (cuidado con las comillas simples).

Si tienes alguna duda de que es cada cosa, busca el manual de PHP, y luego busca las funciones / operadores / etc, que no entiendas, y la próxima ves trata de explicar tú problema para que así la gente te entienda mejor, esto pareciera más bien una aprobación del código por parte de la comunidad más que una corrección, si no estás seguro de tu código, analiza con calma y con un buen editor de texto, lee foros, busca temas de seguridad, visita el manual internet es grande (solo una sugerencia) .

Adios
__________________
Las personas quieren autos, casas, teléfonos, dinero, poder, ser famosos, parejas, en fin.. yo solo quiero ser libre y feliz.

Etiquetas: funciones, html, mysql, sql, tabla, usuarios
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 22:29.