Foros del Web » Programando para Internet » PHP »

mi codigo mas preciado

Estas en el tema de mi codigo mas preciado en el foro de PHP en Foros del Web. Código PHP: <?php $archivo = "chistes.db" ; $porpagina = "15" ; function  chistes ( $cat ) {     global  $archivo ;   $file  =  file ( $archivo ...
  #1 (permalink)  
Antiguo 19/04/2003, 15:38
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 15 años
Puntos: 0
mi codigo mas preciado

Código PHP:
<?php
$archivo
="chistes.db";
$porpagina="15";


function 
chistes($cat) {
    global 
$archivo;
 
$file file($archivo);
  
$x=0;
   while(list(,
$value) = each($file)){
    list(
$categoria,$nombre,$chiste) = explode("|"$value);
      
      if(
$categoria == $cat){
       
$x++;
      }
   }

  if(
$x == 0) {
      return 
"0 chistes";
  } elseif(
$x == 1) {
      return 
"1 chiste";
  } elseif(
$x 1) {
      return 
"$x chistes";
  }

}


function 
total_cat($cat) {
    global 
$archivo;
 
$file file($archivo);
  
$x=0;
   while(list(,
$value) = each($file)){
    list(
$categoria,$nombre,$chiste) = explode("|"$value);
      
      if(
$categoria == $cat){
       
$x++;
      }
   }

return 
"$x";
}







if(
$load == agregar) {


 if(empty(
$_POST['nombre'])) {
  echo 
"<center><font class=FONDOBLANCO size='2'>No agregaste tu nombre</center>";
 }

 elseif(empty(
$_POST['chiste'])) {
     echo 
"<center><font class=FONDOBLANCO size='2'>No agregaste un chiste</center>";
 }

 elseif(empty(
$_POST['categoria'])) {
     echo 
"<center><font class=FONDOBLANCO size='2'>Debes elegir una categoría para tu chiste</center>";
 }

 else {

$autor=$_POST['nombre'];
$categoria=$_POST['categoria'];
$chiste=$_POST['chiste'];

$chiste ereg_replace("\r\n","<br>"$chiste);
$chiste str_replace("|","|"$chiste);
$autor str_replace("|","|"$autor);

$ordenado="$categoria|$autor|$chiste|\n";

$a1=fopen($archivo"a+"); 
flock($a1,2); 
$fw=fwrite($a1$ordenado); 
fclose($a1); 

echo 
"<font class=FONDOBLANCO>El chiste se agregó correctamente $autor, gracias por tu aporte<br>
<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=?load=ver&cat=$categoria\">"
;


 }
}













elseif(
$load == nuevo) {
echo<<<formularionuevo
<br><br>

<form action="?load=agregar" method="POST">
<table align=center width=90% border=0 cellpadding="2" 
cellspacing="0">
<tr>
<td valign=top class=FONDOBLANCO>Tu Nombre:</td>
<td><input type=text name=nombre maxlength=30 size=20>
</tr>
<tr>
<td valign=top class=FONDOBLANCO>Chiste:</td>
<td><textarea name="chiste" cols=30 rows=6></textarea></td>
</tr>
<tr>
<td valign=top class=FONDOBLANCO>Categoria:</td>
<td><select size=1 name=categoria>
    <option value="abogados">Abogados</option>
    <option value="adivinanzas">Adivinanzas</option>
    <option value="borrachos">Borrachos</option>
    <option value="chistes picaros">Chistes Picaros</option>
    <option value="clasificados">Clasificados</option>
    <option value="colmos">Colmos</option>
    <option value="como se dice">Como se dice</option>
    <option value="computadores">Computadores</option>
    <option value="feministas">Feministas</option>
    <option value="Gallegos">Gallegos</option>
    <option value="historias">Historias</option>
    <option value="machistas">Machistas</option>
    <option value="mama, mama">Mamá, mamá</option>
    <option value="medicos">Médicos</option>
    <option value="no es lo mismo">No es lo mismo</option>
    <option value="papa papa">Papá, papá</option>
    <option value="que le dijo">Qué le dijo</option>
    <option value="religiosos">Religiosos</option>
    <option value="suegras">Suegras</option>
    <option value="trabalenguas">Trabalenguas</option>
    <option value="otros">Otros</option>
</select>
</td>
</tr>
<tr>
<td width=100% colspan=2 align=center>
<br><input style='BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: 11px; BORDER-LEFT: black 1px solid; COLOR: black; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; BACKGROUND-COLOR: orange' type="submit" value="  Agregar Chiste  "></td>
</tr>
</table>
<br><br>
formularionuevo;
}












elseif(
$load == ver) {
$listar="si";

 if(empty(
$_GET['cat'])) {
     echo 
"<font class=FONDOBLANCO>No haz elegido una categoria";
     
$listar="no";
 }

 
$chi="".total_cat($_GET['cat'])."";
 if(
$chi == "0") {

     echo 
"<font class=FONDOBLANCO>No hay chistes en esta seccion";
      
$listar="no";
 }


if(
$listar == "no") {} else {

  if(empty(
$_GET['pagina'])) {
    
$inicio=0;
    
$fin=$porpagina;
  } else {
    
$inicio=$_GET['pagina'] * $porpagina;
    
$fin=$inicio $porpagina;
  }

  
$totalcat="".total_cat($_GET['cat'])."";

    if(
$porpagina $totalcat) {
    
$paginasson $totalcat $porpagina;

    for(
$i 0$i $paginasson$i++) {
    
$menubar.="<a class=FONDOBLANCO href=?load=ver&cat=$cat&pagina=".$i.">". ( $i ) ."</a> \n";
    }
    }

  if(!
$menubar) {
      
$menubar="1";
  }

  if( 
$pagina ) {
         
$atras="<a class=FONDOBLANCO href='?pagina=". ( $pagina ) ."'>Atras</a>";
  } else {
      
$atras="Atras";
  }


  if( 
$fin $totalcat ) {
      
$siguiente="<a class=FONDOBLANCO href='?pagina=". ( $pagina ) ."'>Siguiente</a>";
  } else {
      
$siguiente="Siguiente";
  }


    
$bd file($archivo);
    
$chistes array_reverse($bd);
    
    for (
$i $inicio$i count($chistes) AND $i $fin$i++) {
        
$dato explode("|"$chistes[$i]);
      if(
$dato[0] == $_GET['cat']) {

       
$categoria $dato[0];
       
$autor $dato[1];
       
$chiste =str_replace ("\\","",$dato[2]);

       echo 
"<font class=FONDOBLANCO>$chiste</font><div align=right><font color='#0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Enviado por:</font></strong> 
<font color='#006600' size='1' face='Verdana, Arial, Helvetica, sans-serif'>$autor</font></div>
       <hr align=center size='1' color=#ff0000>"
;

      }
    }

echo 
"<font class=FONDOBLANCO><center>Paginas: $menubar</center><br>";


}


}













else {

echo 
"<br><font size='2' class=FONDOBLANCO><center>Cantidad de Chistes por categoría.</center><br><br>

<a class=FONDOBLANCO href='?load=ver&cat=abogados'>Abogados</a> 
      [ "
.chistes('abogados')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=adivinanzas'>Adivinanzas</a> 
      [ "
.chistes('adivinanzas')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=borrachos'>Borrachos</a> 
      [ "
.chistes('borrachos')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=chistes picaros'>Chistes Picaros</a> 
      [ "
.chistes('chistes picaros')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=clasificados'>Clasificados</a> 
      [ "
.chistes('clasificados')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=colmos'>Colmos</a> 
      [ "
.chistes('colmos')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=como se dice'>Como se dice</a> 
      [ "
.chistes('como se dice')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=computadores'>Computadores</a> 
      [ "
.chistes('computadores')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=feministas'>Feministas</a> 
      [ "
.chistes('feministas')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=gallegos'>Gallegos</a> 
      [ "
.chistes('gallegos')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=historias'>Historias</a> 
      [ "
.chistes('historias')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=machistas'>Machistas</a> 
      [ "
.chistes('machistas')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=mama, mama'>Mamá, Mamá</a> 
      [ "
.chistes('mama, mama')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=medicos'>Médicos</a> 
      [ "
.chistes('medicos')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=no es lo mismo'>No es lo mismo</a> 
      [ "
.chistes('no es lo mismo')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=papa, papa'>Papá, papá</a> 
      [ "
.chistes('papa, papa')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=que le dijo'>Qué le dijo</a> 
      [ "
.chistes('que le dijo')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=religiosos'>Religiosos</a> 
      [ "
.chistes('religiosos')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=suegras'>Suegras</a> 
      [ "
.chistes('suegras')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=trabalenguas'>Trabalenguas</a> 
      [ "
.chistes('trabalenguas')." ]<br>

<a class=FONDOBLANCO href='?load=ver&cat=otros'>Otros</a> 
      [ "
.chistes('otros')." ]

<br><br>
    <center><a class=FONDOBLANCO href='?load=nuevo'>Agregar Chiste</a></center>"
;

}

?>
__________________
Animacion de cumpleaños

Última edición por blackseba; 19/04/2003 a las 19:12
  #2 (permalink)  
Antiguo 19/04/2003, 15:39
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 15 años
Puntos: 0
ESE es mi codigo de chiste lo que quiero es que pata agregar un chiste pida una contraseña de admin, osea solo yo pueda agregar chistes
__________________
Animacion de cumpleaños
  #3 (permalink)  
Antiguo 19/04/2003, 15:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te haces un formulario . con method 'post' y que uses los input name="usuario" y name="password" .. Lo apuntas (el action) a tu script .. y en tu script, Al principio de todo le haces un simple condicional tipo:

Código PHP:
<?
$pass
="nose"// la contraseña correcta
$user="yo"// el usuario correcto ..
if ($_POST['usuario'] != $user || $_POST['password'] != $pass){
  
header("location: formulario.html"); // Lo mandas a tu formulario. 
   
exit;
}
?>
Así de simple ...

Pero si ese script hace varias operaciones .. Podrías usar sesiones para el seguimiento del usuario .. Por ejemplo:

Usas el mismo formulario de antes .. pero lo apuntas a login.php (el action):

login.php
Código PHP:
<?
$pass
="nose"// la contraseña correcta
$user="yo"// el usuario correcto ..
if ($_POST['usuario'] == $user && $_POST['password'] == $pass){
  
session_start();
   
$_SESSION['validado']="si";
   
header("location: tuscript.php"); // y de aquí si es válido el usuario salta a tu script.php
   
exit;
} else {
   echo 
"no estás autorizado . bla bal bla";

?>

Y en tu script.php o scripts que uses en esa sesión .. (al principio de tu script).

Código PHP:
<?
session_start
();
if (
$_SESSION['validado'] !="si"){
  
header("location: formulario.html"); // si no pasó por el formulario de validación .. lo mandas para allá.
   
exit;
}
?>

Un saludo,

NOTA: .. estos ejemplos requires de Propagación del SID automático y por cookie (con un navegador a su vez q las acepte .. las cookies) ..Sino, tendras que propagar el SID tu a mano en los redirecionamientos que hagas ...
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 19/04/2003 a las 16:01
  #4 (permalink)  
Antiguo 19/04/2003, 16:02
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 15 años
Puntos: 0
pero asi = se podria entrar por la url directa o no?
__________________
Animacion de cumpleaños
  #5 (permalink)  
Antiguo 19/04/2003, 16:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues NO .. para eso estan las sesiones, Para validar que se ha pasado por el formulario de "login" y en consecuencia se registra la variable de sesion q se usa como simple "flag" (bandera)

Pruebalo!. y vista www.php.net (busca el tema de sesiones)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 19/04/2003, 19:10
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 15 años
Puntos: 0
ya lo proble pero me bloquea todo el codigo y yo solo quiero que me pide password al agregar un chiste no para verlo
__________________
Animacion de cumpleaños
  #7 (permalink)  
Antiguo 19/04/2003, 19:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues usa el condicional de la session en la parte del código donde escribas el "chiste" ..

session_start();

if (verificas el valor de la variable de sesion){
// ejecutas la parte de tu código que haga esa taréa ...
} // cierras el IF (condicional)


Repasa el tema de "estructuras de control" del manul de PHP .. La session ahí en tu código es una simple variable con un valor ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:00.