Foro oficial de PHP

No tengo la mas minima idea de como crear un script en un juego que tengo

Al usuario se le descuenta x oro por ser usuario vip por un tiempo

y al cabo de ese tiempo se le quita el usuario vip, como hago todo ese proceso automatizado??

Espero sus respuestas =)


PD. Habia posteado en otro lugar porque no habia encontrado este.. sry por el doble post
 
No tengo la mas minima idea de como crear un script en un juego que tengo

Al usuario se le descuenta x oro por ser usuario vip por un tiempo

y al cabo de ese tiempo se le quita el usuario vip, como hago todo ese proceso automatizado??

Espero sus respuestas =)


PD. Habia posteado en otro lugar porque no habia encontrado este.. sry por el doble post
A lo mejor esto te sirve pero es en ActionScript ;)

Saludos y suerte.
 
No tengo la mas minima idea de como crear un script en un juego que tengo

Al usuario se le descuenta x oro por ser usuario vip por un tiempo

y al cabo de ese tiempo se le quita el usuario vip, como hago todo ese proceso automatizado??

Espero sus respuestas =)


PD. Habia posteado en otro lugar porque no habia encontrado este.. sry por el doble post
Yo montaría un script que se encargue de revisar los usuarios y procesarlos de acuerdo a los factores de tiempo y de estado y lo montaría en una tarea programada (via cron o launchd) cada determinado tiempo (por ejemplo, 2 veces al dìa).
 
Hola, me gustaría saber si reconoceis el siguiente problema:

Cito mi mensaje en Foros del Web:

Distriker en Foros del Web dijo:
Hola a todos, ahora mismo tengo un problema con una protección en php mediante pass_protect.

El problema que tengo es que por mas que introdusca el user y la pass pues me sigue saliendo la ventana pidiendo el user y el pass, los codigos que tengo son estos:

PHP:
<?php
require ("../includes/proteccion.php") ;
?>
<?php
require ("../includes/login.php") ;
?>
// Aquí llamo al codigo de "protección" y el de login, que permite la ventana //

proteccion.php:

PHP:
<?php
function pass_protect($name, $pass, $mensaje='Area solo para usuarios registrados'){
    $files['.htaccess'] = array(
        'AuthName "'.$mensaje.'" ',
        'AuthType Basic ',
        'AuthUserFile '.realpath('./').'/.htpasswd ',
        //'AuthGroupFile /dev/null ',
        'require valid-user '
    );
    if(is_array($name) && is_array($pass)){
        foreach($name as $k => $v){
            if( !empty($name[$k]) && !empty($pass[$k]) ){   $files['.htpasswd'][] = $name[$k].':'.crypt($pass[$k]);    }
        }
    } elseif(is_array($name)){  foreach($name as $k => $v){   $files['.htpasswd'][] = $v.':'.crypt($pass);   }  
    } elseif(is_array($pass)){  foreach($pass as $k => $v){   $files['.htpasswd'][] = $name.':'.crypt($v);   }  
    } else {                $files['.htpasswd'][] = $name.':'.crypt($pass); 
    }
    foreach($files as $filename => $cont){
        $cont   = implode("\n", $cont);
        $fp  = fopen($filename, 'w+');
        $read   = fwrite($fp, $cont, strlen($cont));
        fclose($fp);
    }
    return true;
}
?>
login.php:

PHP:
<?php
$name = array ('$$$$$', '$$$$$') ;
$pass = array ('$$$$$', '$$$$$') ;
$mensaje = array ('Esta zona es solo para administradores') ;
pass_protect ($name, $pass) ;
?>
¿Qué fallo le veis?

Los users y las pass las puse así por que las he publicado aquí, pero son otras ;-).

Saludos

Espero poder solucionar este problema, necesito solucionarlo urgentemente :(, gracias ;)

Además, me gustaría saber si sabeis algo de esto:

¿Sabeis de algún tutorial para crear un redimensión de imagenes con javascript o php?

Es que me gustaría tener una medida adecuada a las imagenes que son mas grandes de lo que yo pido ;).

Saludos

Muchas gracias a todos ;)

Saludos

Edito.

Finalmente he dado con la solucion, me autocito de FDW:

Distriker en Foros del Web dijo:
Bueno, ya se porque no me funciona, os explico, decidí meterme dentro del archivo .htpasswd y me sale mi user y el otro user pero con distintas contraseñas, es como si se hayan codificado o algo raro :S

Veamos, yo tengo esto:

PHP:
<?php
$name = array ('ivi', 'demo') ;
$pass = array ('ivi', 'demo') ;
$mensaje = array ('Esta zona es solo para administradores') ;
pass_protect ($name, $pass) ;
?>

Y en el .htpasswd aparece esto:

Código:
ivi:$1$B65.0L1.$txXimYmI78R9eY5Ke2Kg1/
demo:$1$Hz0.EQ3.$rL.Ugc9WOue/lrb5h03ni.

Las contraseñas son lo que va despues del nombre y los dos puntos :)).

¿Cómo podría hacer para que las contraseñas se guarden como son? ¿Añadirle alguna codificación al .htpasswd?

Saludos

¿Qué os parece?

Saludos
 
Un include que esté dentro de un directorio se hace de la misma forma, mira:

PHP:
<?php
include ('directorio/nombredearchivo.php') ;
?>

¿Te sale correctamente?

Saludos

Si bro eso funciona siempre y cuando el directorio del recurso sea un subdirectorio del punto en el que esta el archivo donde se realiza la llamada incude o require... para derectorios en niveles superiores me ha tocado usar el operador dos puntos "../biblioteca/recurso.php" lo malo es que a mayor distancia entre el archivo fuente y el recurso mas operadores ".." necesito.

Mi ultima opcion fue pegar la carpeta de los recursos en el document root y acceder a ella con:

include $_SERVER['Document Root'].'/biblioteca/recurso.ph';

Lo bueno es que esto funciona sin importar donde este el archivo que realiza la inclucion...en fin gracias por todo.
 
Si bro eso funciona siempre y cuando el directorio del recurso sea un subdirectorio del punto en el que esta el archivo donde se realiza la llamada incude o require... para derectorios en niveles superiores me ha tocado usar el operador dos puntos "../biblioteca/recurso.php" lo malo es que a mayor distancia entre el archivo fuente y el recurso mas operadores ".." necesito.

Mi ultima opcion fue pegar la carpeta de los recursos en el document root y acceder a ella con:

include $_SERVER['Document Root'].'/biblioteca/recurso.ph';

Lo bueno es que esto funciona sin importar donde este el archivo que realiza la inclucion...en fin gracias por todo.
Pues muchas gracias Sairus, no sabía nada sobre esa función, te lo agradesco.

Saludos
 
hola muchacho como estan, tengo un pequeña duda

tengo un formulario en html, los datos de este formulario se los envio a un archivo php hasta hay todo bien, lo que necesito es que desde el archivo php pueda enviar los datos del formulario a otro archivo php.

algo asi.

archivo.html

Código:
<FORM METHOD="post" ACTION="1.php" name="form" id="form" enctype="multipart/form-data">   
      
<input type="text" name="vid" id="vid" />
<input type="file" name="imagen" size="40" />
...
<input name="enviar" type="submit" value="Enviar"/>
</form>
1.php
PHP:
<?  
echo $_POST[vid];
echo $_FLIES[imagen][name];
...
//y aca necesito enviar esos datos a otro archivo php
?>
saben como puedo hacer eso, la verdad no tengo idea de como hacerlo agradeceria su ayuda

gracias

edit:

ya lo pude solucionar!! en realidad es bastante simple, tomo los datos que me envia el primer archivo y con ellos armo un nuevo form y lo envio al tercer archivo

algo asi

[/code]1.php
PHP:
<?  
echo $_POST[vid];
echo $_FLIES[imagen][name];
...

<FORM METHOD="post" ACTION="2.php" name="form" id="form" enctype="multipart/form-data">   
      
<input type="hidden" value="<? echo $_POST[vid] ?>" name="vid" id="vid" />
<input type="hidden" value="<? echo $_FLIES[imagen][name] ?>" name="imagen" id="vid" />
...
<input name="enviar" type="submit" value="Enviar"/>
</form>

?>
y ya bastante sencillo pero no saben lo que me demore haciendolo

saludos
 
hola muchacho como estan, tengo un pequeña duda

tengo un formulario en html, los datos de este formulario se los envio a un archivo php hasta hay todo bien, lo que necesito es que desde el archivo php pueda enviar los datos del formulario a otro archivo php.

algo asi.

archivo.html

Código:
<FORM METHOD="post" ACTION="1.php" name="form" id="form" enctype="multipart/form-data">   
      
<input type="text" name="vid" id="vid" />
<input type="file" name="imagen" size="40" />
...
<input name="enviar" type="submit" value="Enviar"/>
</form>
1.php
PHP:
<?  
echo $_POST[vid];
echo $_FLIES[imagen][name];
...
//y aca necesito enviar esos datos a otro archivo php
?>
saben como puedo hacer eso, la verdad no tengo idea de como hacerlo agradeceria su ayuda

gracias

Bueno si depronto te sirve.

Utiliza un include 'Otroarchivo.php';

y en Otroarchivo.php cuanto este seteado $_POST[vid] ya lo podras utilizar.
 
Tengo por ejemplo el siguiente codigo, como puedo buscar el mismo archivo usando expresiones regulares, ejemplo /path/to/
[*]o.txt; algo asi, pero no se como hacerlo, alguien q me pueda ayudar se lo agradeceria.
 
<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>

Este seria el codigo ahora no me dejo copiarlo, pues la idea es que en $filename pueda poner una expresion regularm, o si saben de un mejor metodo para hacerlo.
 
<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>

Este seria el codigo ahora no me dejo copiarlo, pues la idea es que en $filename pueda poner una expresion regularm, o si saben de un mejor metodo para hacerlo.
A lo mejor te vale esto, revisatelo ;).

Saludos
 
hola como estan?
de nuevo yo jeje

lo que me pasa ahora es q tengo el siguiente codigo

PHP:
<script language="javascript" type="text/javascript">

    function confirmar()
    {
   algo=confirm("AVISO: Esta seguro que desea eliminar?")
   
   if (algo==true){
        document.form.action="eliminarEncuesta.php";
        document.form.submit(); //enviamos formulario   
    }
   }
   
   function modificar(){        
        
        document.form.action="ModificarEncuesta.php";
        document.form.submit(); //enviamos formulario   
   }
   
   
</script>


<table width="700" border="0">
  
  <?      
    for($j=0;$j<count($resul);$j++){

        echo "<form method='POST' action='' name='form'>";
                
        echo "<input name='cod' type='hidden' value='".$resul[$j][0]."'>";
        $i=$j+1;
        echo "<tr><th scope='row'>".$resul[$j][1]."</th>
        
        <td><input name='".$i."' type='submit' value='Modificar' onClick='javascript:modificar()' /></td><td><input name='".$i."' type='submit' value='Eliminar' onClick='javascript:confirmar()' />    </td>
        
        </tr>";
        
        echo "</form>";
                
        
    }
    ?>        
    
    </table>
este codigo imprime lo que hay en el arreglo $resul y pone al lado un boton q se llama modificar y otro q se llama eliminar, se supone que cuando presiona eliminar llama al metodo en javascript confirmar() y de hay envia todo el formulario a eliminarEncuesta.php y cuando le da click a modificar llama al metodo modificar() y de hay al archivo modificarEncueta.php, el problema es q al dar click en el boton entra en el metodo de javascript pero no llama a ningun archivo si no q se qda en la misma pagina.

ese es mi problema no se como hacer para q cuando le de click en algun boton llame al archivo q se supone debe llamar les agradeceria me pudieran ayudar, gracias
 
<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>

Este seria el codigo ahora no me dejo copiarlo, pues la idea es que en $filename pueda poner una expresion regularm, o si saben de un mejor metodo para hacerlo.
No entiendo bien qué quiere hacer, buscar si archivos de diferentes nombres con la misma extensión están en un directorio? buscar un archivo de un nombre específico (que termine en var.txt? por ejemplo) recursivamente entre directorios?
Si dice que quiere hacer, le podemos ayudar más. mire esto [1] que le puede servir para hacer la expresión regular.

Saludos

[1] http://javascript.espaciolatino.com/lengjs/jsgram/expregulares.htm
 
hola como estan?
de nuevo yo jeje

lo que me pasa ahora es q tengo el siguiente codigo

PHP:
<script language="javascript" type="text/javascript">

    function confirmar()
    {
   algo=confirm("AVISO: Esta seguro que desea eliminar?")
   
   if (algo==true){
        document.form.action="eliminarEncuesta.php";
        document.form.submit(); //enviamos formulario   
    }
   }
   
   function modificar(){        
        
        document.form.action="ModificarEncuesta.php";
        document.form.submit(); //enviamos formulario   
   }
   
   
</script>


<table width="700" border="0">
  
  <?      
    for($j=0;$j<count($resul);$j++){

        echo "<form method='POST' action='' name='form'>";
                
        echo "<input name='cod' type='hidden' value='".$resul[$j][0]."'>";
        $i=$j+1;
        echo "<tr><th scope='row'>".$resul[$j][1]."</th>
        
        <td><input name='".$i."' type='submit' value='Modificar' onClick='javascript:modificar()' /></td><td><input name='".$i."' type='submit' value='Eliminar' onClick='javascript:confirmar()' />    </td>
        
        </tr>";
        
        echo "</form>";
                
        
    }
    ?>        
    
    </table>
este codigo imprime lo que hay en el arreglo $resul y pone al lado un boton q se llama modificar y otro q se llama eliminar, se supone que cuando presiona eliminar llama al metodo en javascript confirmar() y de hay envia todo el formulario a eliminarEncuesta.php y cuando le da click a modificar llama al metodo modificar() y de hay al archivo modificarEncueta.php, el problema es q al dar click en el boton entra en el metodo de javascript pero no llama a ningun archivo si no q se qda en la misma pagina.

ese es mi problema no se como hacer para q cuando le de click en algun boton llame al archivo q se supone debe llamar les agradeceria me pudieran ayudar, gracias
Hola, tengo varias observaciones para hacer:
1. Generar todo el HTML a punta de echos no es una buena practica, si vas a crear pocos elementos, si, pero si es mas el codigo HTML que el PHP, es mejor utilizar las etiquetas PHP donde se requiera
2. Estas abriendo una tabla e inmediatamente abriendo un form y luego una fila (<table><form><tr>). Como HTML es muy flexible, no sale error, pero el codigo esta mal formado. Mira el codigo mas abajo para ver como deberia ser
3. Estas creando varios form dentro del documento pero no tienes una forma clara para diferenciarlos y cuando estas poniendo document.form no se sabe a que form te refieres, he ahi el error. Tendrias que hacerlo asi document.forms[0] para referirte al primer form por ej, pero creo que es mas elegante la forma como te pongo en el ejemplo mas abajo.

He aqui el codigo basado en el que tu pusiste:
PHP:
<script language="javascript" type="text/javascript">
//El parametro num es para saber que numero de formulario estamos enviando
function accion(tipo, num)
{
    var form=document.getElementById('form_'+num);
    
    switch(tipo){
        case 'eliminar':    //Eliminar la encuesta
            if(confirm("AVISO: Esta seguro que desea eliminar?")){                
                form.action="eliminarEncuesta.php";
                alert('Vamos a ir a: '+form.action);
                //form.submit();
                /*
                document.form.action="eliminarEncuesta.php";
                document.form.submit(); //enviamos formulario
                */
            }
        break;
        
        case 'modificar':    //Modificar la encuesta
            form.action="modificarEncuesta.php";
            alert('Vamos a ir a: '+form.action);
            //form.submit();
        break;
    }//Fin switch (tipo)
}
</script>


<table width="700" border="0">
<?
//Vector con resultados
$resul=array(array(1,2,3), array(6,3,9), array(8,10,5));

//Recorrer el vector de resultados
for($j=0;$j<count($resul);$j++){
    $i=$j+1;
?>
    <tr>
        <td>
            <form method="POST" action="" name="form" id="form_<?php echo $j ?>">
                <input name="cod" type='hidden' value="<?php echo $resul[$j][0] ?>" />    
                <table>                
                <tr>
                    <th scope="row"><?php echo $resul[$j][1]?></th>
                    <th><strong>(ID: <?php echo $resul[$j][0]?>)</strong></th>
                    <td>
                        <input name="<?php echo $i ?>" type="submit" value="Modificar" onClick="accion('modificar', <?php echo $j ?>)" />
                    </td>
                    <td>
                        <input name="<?php echo $i ?>" type="submit" value="Eliminar" onClick="accion('eliminar', <?php echo $j ?>)" />
                    </td>
                </tr>
                </table>
            </form>
        </td>
    </tr>
<?php
}//Fin for
?>
</table>
NOTA: El form.submit() en JavaScript esta comentado ya que como los botones son <input type="submit"> ya tienen asociado un form y al darles click, se hace el submit de este form.

Adjunto un comprimido con los tres archivos usados en el codigo anterior para que los examines

Como consejo, te recomiendo instalar la extension [1] Firebug que es para Firefox que simplifica mucho el debug para aplicaciones Web, permite controlar el trafico de red, css, JavaScript.

[1] https://addons.mozilla.org/es-ES/firefox/addon/1843

Saludos
 

Archivos adjuntos

  • ejemplo.zip
    1.3 KB · Visitas: 111
No entiendo bien qué quiere hacer, buscar si archivos de diferentes nombres con la misma extensión están en un directorio? buscar un archivo de un nombre específico (que termine en var.txt? por ejemplo) recursivamente entre directorios?
Si dice que quiere hacer, le podemos ayudar más. mire esto [1] que le puede servir para hacer la expresión regular.

Saludos

[1] http://javascript.espaciolatin[o.com/lengjs/jsgram/expregulares.htm
Pues la idea era buscar un archivo x que yo se que tiene en el nombre por ejemplo pila y hacer una exprsion regular estilo ****pila***.* algo asi,
No encontre como hacerlo directamente en archivos por lo que mejor carge la lista de directorios a un array y desde ahi hice la comparacion de las expresiones regurares con unas funciones de php.
La info de estas expresiones las pueden sacar de aqui: http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html
 
Pues la idea era buscar un archivo x que yo se que tiene en el nombre por ejemplo pila y hacer una exprsion regular estilo ****pila***.* algo asi,
No encontre como hacerlo directamente en archivos por lo que mejor carge la lista de directorios a un array y desde ahi hice la comparacion de las expresiones regurares con unas funciones de php.
La info de estas expresiones las pueden sacar de aqui: http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html
Ahora si se entendio, ten en cuenta que la funcion eregi y tambien ereg estan obsoletas y las quitaran para la version 6 de PHP [1]

[1] http://us2.php.net/manual/en/function.eregi.php
 

Los últimos mensajes

Los últimos temas