PHP - Ayuda php

 
Vista:
sin imagen de perfil

Ayuda php

Publicado por raul (9 intervenciones) el 18/08/2014 17:53:00
Hola, soy nuevo en php y quisiera pedir ayuda, por que quiero crear un script en php, donde haya una parte fija, otra que detectase la ip y otra que sea un generador aleatorio. debajo un boton de activar, la funcion del boton seria entrar por ftp a un archivo y añadirle una parte fija, otra con la ip y otra con la clave generada y guardar el archivo.

He estado mirando por internet para el generador y creo que la funcion uniqid nos podria servir. Si alguien me pudiera hechar una mano se lo agradeceria. Saludos y espero respuestas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda php

Publicado por xve (6935 intervenciones) el 18/08/2014 20:23:16
Hola Raul, la verdad es que no queda muy claro lo que quieres hacer...

Porque no haces preguntas mas concisas exactamente con los problemas que tienes? de esta manera sera muy sencillo que te podamos ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda php

Publicado por raul (9 intervenciones) el 19/08/2014 01:11:45
Hola, gracias por la respuesta, vamos a empezar poco a poco y paso a paso y voy a explicarme lo mejor que pueda. decir que no tengo mucha idea de php, estoy aprendiendo. la idea es esta:


micasa delpueblo esgrande ipdelvisitante palabragenerador


donde micasa delpueblo esgrande seria la parte fija

ipdelvisitante seria la variable1

palabragenerador seria variable 2

entonces la variable1 tengo que imprimir la ip del visitante en una variable. que la he llamado $varip, pero en el codigo no se si esta muy bien:

1
2
3
4
5
6
7
8
9
function getRealIP() {
	if (!empty($_SERVER['HTTP_CLIENT_IP']))
		return $_SERVER['HTTP_CLIENT_IP'];
 
	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
		return $_SERVER['HTTP_X_FORWARDED_FOR'];
 
	return $_SERVER['REMOTE_ADDR'];
}


pero ahora no se como imprimirlo en la variable.


despues con la variable 2, es crear un generador de palabras o numeros, para que a cada uno sea distinto y nunca igual.

este es el que he encontrado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
form id="form1" name="form1" method="post" action="generanumero.php">
    <table width="359" border="0">
        <tbody><tr>
            <td width="85">Minimo:</td>
            <td width="105"><label>
                <input type="text" name="minimo" id="minimo">
            </label></td>
        </tr>
        <tr>
            <td>Maximo:</td>
            <td><label>
                <input type="text" name="maximo" id="maximo">
            </label></td>
        </tr>
        <tr>
            <td>Cantidad:</td>
            <td><label>
                <input type="text" name="cantidad" id="cantidad">
            </label></td>
        </tr>
    </tbody></table>
<p>
    <label>
        <input type="submit" name="button" id="button" value="Generar Numero">
    </label>
</p>
</form>

la cantidad seria 500 y minimo por ejemplo 1 y maximo 6000. pero tampoco se imprimirlo en una variable, ademas creo que esta funcion no me sirve, ya que yo no quiero mostrar los 500, yo solo quiero que muestre 1 y cuando otro usuario lo haga muestre otro. quizas deba cojer un documento y poner todos los codigos que quiera y despues que vaya accediendo a el de uno en uno.

para finalizar, el usuario debera pulsar un boton de siguiente. este proceso quisiera que hiciera login por ftp y modificara un archivo, añadiendo una parte fija y las 2 variables obtenidas anteriormente. pero siempre y cuando pulse el boton. Este codigo no se por donde meterle mano, el del ftp seria esto:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$ftp_server="";
$ftp_user_name="";
$ftp_user_pass="";
$file = "";//tobe uploaded 
$remote_file = "";
 
// set up basic connection 
$conn_id = ftp_connect($ftp_server);
 
// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);


una vez dentro ya melio con el ftp_fget, para que me descarge el archivo, lo modifique y lo vuelva a subir. Espero que me podais ayudar, tengo skype por si es mejor. Saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mostrar la IP de un usuario

Publicado por xve (6935 intervenciones) el 19/08/2014 10:25:15
No te entiendo muy bien... te refieres a como mostrar la IP dentro de la cadena?

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function getRealIP() {
	if (!empty($_SERVER['HTTP_CLIENT_IP']))
		return $_SERVER['HTTP_CLIENT_IP'];
 
	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
		return $_SERVER['HTTP_X_FORWARDED_FOR'];
 
	return $_SERVER['REMOTE_ADDR'];
}
 
echo "micasa delpueblo esgrande ".getRealIP()." palabragenerador";
?>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 19/08/2014 11:47:20
oks, muchas gracias xve, la primera parte funciona bien, me muestra la ip desde donde estoy navegando, ahora viene el generador, esto creo que es lo mas complicado, ya que no se pueden repetir, ahora mismo mi codigo seria asin:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
 
 
function getRealIP() {
	if (!empty($_SERVER['HTTP_CLIENT_IP']))
		return $_SERVER['HTTP_CLIENT_IP'];
 
	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
		return $_SERVER['HTTP_X_FORWARDED_FOR'];
 
	return $_SERVER['REMOTE_ADDR'];
}
 
 
myUniqId(8,"PRUEBA");
function myUniqId($numStr,$strPrx)
{
srand((double)microtime()*rand(1000000,9999999));
    $arrChar=array();
    $uId=$strPrx;
for($i=65;$i<90;$i++)
    {
        array_push($arrChar,chr($i));
        array_push($arrChar,strtolower(chr($i)));
    }
    for($i=48;$i<57;$i++)
    {
        array_push($arrChar,chr($i));
    }
    for($i=0;$i<$numStr;$i++)
    {
        $uId.=$arrChar[rand(0,count($arrChar))];
    }
    print "micasa delpueblo esgrande ".getRealIP()." $uId"; }
 
 
 
?>






Funciona bien, pero me falta que si para una ip a dado un codigo siempre de el mismo. es decir, ejemplo
un usuario con ip 80.80.80.90 PRUEBA01d5d5d si este usuario vuelve a entrar en la pagina le deberia de generar ese mismo pass o no generarle ninguno. es decir el generador genera una vez cada x horas por ejemplo, por mucho que el usuario intente acceder de neuvo no pueda generar nada. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 19/08/2014 12:44:25
Hola, el boton que he puesto es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
	<script src="../js/jquery-1.10.2.min.js"></script>
	<script type="text/javascript">
		$("#btnMostrar").click(function(){
			$.get("Perfil.php",function(data){ alert("Respuesta: "
 
+ data); });
		});
	</script>
</head>
<body>
	<input type="button" value="Ejecutar Funcion" id="btnMostrar" />
</body>
</html>

me muestra el boton, pero yo quiero que la funcion sea entrar por ftp al servidor descargar un archivo, modificarlo y volverlo a subir. Saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mostrar la IP de un usuario

Publicado por xve (6935 intervenciones) el 19/08/2014 14:04:49
Hola Raul, la verdad me cuesta un poco de entender lo que quieres hacer...

- Si un usuario entra en tu pagina, le das una contraseña aleatoria.
- Si el usuario vuelve a entrar al cabo de 2 minutos que tiene que pasar?
- Si el usuario entra dentro de 1 hora o entra mañana que tiene que pasar?
- Utilizas base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 19/08/2014 14:20:30
hola, voy a contestarte por partes



- Si un usuario entra en tu pagina, le das una contraseña aleatoria.

hasta aqui bien

- Si el usuario vuelve a entrar al cabo de 2 minutos que tiene que pasar?

si vuelve a entrar pasado 2 min quiero que le salga la misma que genero antes.

- Si el usuario entra dentro de 1 hora o entra mañana que tiene que pasar?

Si el usuario entra pasadas 24 horas pueda generar una nueva.

- Utilizas base de datos?
si, la base de datos que tengo es esta:
$mysql_host = "mysql4.000webhost.com";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mostrar la IP de un usuario

Publicado por xve (6935 intervenciones) el 19/08/2014 16:44:01
Hola Raul, con lo que me has comentado, creo que la mejor manera es utilizar una cookie que guarde un identificador de una base de datos que esta contiene la contraseña... intento explicarme.

1.- un usuario accede y generas una nueva contraseña. Esa contraseña la guardas en una tabla con un campo id autoincremental.
2.- guardas ese id en una cookie que tiene una caducidad de 24 horas
3.- cada vez que acceda el usuario, revisas que exista dicha cookie, y si existe, lees la contraseña de la base de datos.
4.- si no existe la cookie, generas una nueva contraseña.

Yo lo aria así... te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 19/08/2014 16:52:41
Hola, si me vale, seria perfecto, ya que haria lo que estoy buscando. muchas gracias, poco a poco pero va saliendo. gracias por ayudarme, ya que no es facil por que mis conocimientos son poquitos. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 19/08/2014 22:08:04
Podrias indicarme el codigo para las cookies, no encuentro casi nada. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema
Val: 79
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mostrar la IP de un usuario

Publicado por txema (18 intervenciones) el 20/08/2014 01:21:59
Hola raul:

Como te dice xve, y lo deduzco, TÚ sabes a dónde quieres llegar pero no se te entiende. Como en tantos mensajes, lo que quieres decir (la idea) no corresponde a lo que dices (el mensaje) y difícilmente podemos llegar a la recepción (interpretación del mensaje),

emisor -> mensaje -> (medio y forma de envío, en este caso el foro) -> receptor

Me recuerda al eterno cliente cuyo trabajo presupuestado ya realizado, antes de pagar dice: "Sí pero además quiero , y te lo decía, ...". (¿¿??)

Tres cuestiones a lo ya comentado:

1.- IP del usuario. Prácticamente la totalidad tenemos el servicio que puede cambiar la IP cada minuto, hora, o tal vez dure uno o varios días. Depende del proveedor, del servicio contratado y del tráfico. Generalmente es variable.

2.- Si de lo que se trata es de generar contraseñas, yo le dejaría al usuario elegirlas con la opción de contraseñas débiles o seguras. Tal vez sería más fácil encriptarlas a md5, sha1, ...

3.- Pides el código para generar cookies. ¿Sabes cómo funcionan? ... (legislación e información al cliente ) ...

Te sería muy útil leer PHP: setcookie - Manual .
No es nada complicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 20/08/2014 09:04:15
Hola, muchas gracias por responder, ya me imagino que no es facil poder ayudarme, pido mil disculpas, ya que no me explico bien, es que por mensajes asin es muy complicado expresarme, si fuera por skype pues yo lo explicaría todo y lo iriamos solucionando poco a poco.


Lo de las ip es facil cambiarla para el usuario, con un simple reinicio al router bastaría, pero esto a mi no me importa, ya que esa contraseña solo funciona con esa ip, si el usuario cambiara la ip se generaria una nueva, a la hora de que el usuario vaya a usarla solo le valdria la antigua, ya que la ip y las contraseñas van asociadas. Esto de asociadas es en el siguiente paso cuando entramos por ftp y modificamos el archivo, ahi es donde se pone la contraseña y la ip, con lo cual solo funcionaria cada una con su ip.


Si veis que es complicado, agradeceria si alguien me pudiera ayudar por skype, por ahi le puedo poner ejemplos y seguro que nos entenderiamos mejor. Vuelvo a pedir disculpas, pero os entiendo, estais ahora mismo a ciegas sin saber realmente lo que busco. Saludos y Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar la IP de un usuario

Publicado por raul (9 intervenciones) el 20/08/2014 11:04:07
He abierto la conexion a la base de datos y el cierre:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
// Parametros a configurar para la conexion de la base de datos 
 
$hotsdb = "xxxxxxxxxx";    // sera el valor de nuestra BD 
$basededatos = "xxxx";    // sera el valor de nuestra BD 
 
$usuariodb = "xxxx";    // sera el valor de nuestra BD 
$clavedb = "xxxxxx";    // sera el valor de nuestra BD 
 
$tabla_db1 = "unatabla";    // sera el valor de una tabla 
$tabla_db2 = "otratabla";    // sera el valor de otra tabla 
 
// Fin de los parametros a configurar para la conexion de la base de datos 
 
$conexion_db = mysql_connect("$hotsdb","$usuariodb","$clavedb")
    or die ("Conexión denegada, el Servidor de Base de datos que solicitas NO EXISTE");
    $db = mysql_select_db("$basededatos", $conexion_db)
    or die ("La Base de Datos <b>$basededatos</b> NO EXISTE");
?>



tambien he puesto el codigo para que guarde los datos en la base de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 
// Recibimos por POST los datos procedentes del formulario  
 
$ip = $_POST["ip"];
$contraseña = $_POST["contraseña"];
$fecha = date("d-m-Y");
 
// Abrimos la conexion a la base de datos  
include("abre_conexion.php");
 
$_GRABAR_SQL = "INSERT INTO $tabla_db1 (ip,contraseña,fecha) VALUES ('$ip','$contraseña','$fecha')";
mysql_query($_GRABAR_SQL);
 
// Cerramos la conexion a la base de datos  
include("cierra_conexion.php");
 
// Confirmamos que el registro ha sido insertado con exito  
 
echo "
<p>Los datos han sido guardados con exito.</p>  

<p><a href='javascript:history.go(-1)'>VOLVER ATRÁS</a></p>  
";
?>

y por ultimo estoy intentando que la ip y la contraseña generada, la enviara para guardarla, pero no consigo poner la ip y la contraseña, solo me sale para poner datos, os dejo el codigo que estoy utilizando:


1
2
3
4
5
6
7
8
9
<form method="POST" action="registra.php">
 
    <p>ip: <input type="text" name="ip" size="20"></p>
 
    <p>contraseña: <input type="text" name="contraseña" size="20"></p>
 
    <p><input type="submit" value="Guardar datos" name="B1"></p>
 
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar