Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - extreme69

#11
PHP / Re: split variable
31 Mayo 2012, 03:55 AM
Muchas gracias por la sugerencia, de todas formas el "ix" era un ejemplo", voy a usar algo como ¡!562&!&&¿? como separador, de esta manera sé que el error es casi imposible o al menos es 1 sólo.

Los casilleros no son de "nombre" y "edad", fue un ejemplo que puse, por lo que "edad" en realidad puede o no contener números al igual que nombre.
#12
PHP / split variable
31 Mayo 2012, 02:04 AM
Tengo una variable "datos" con valor: "Luis Perez¡x¡20 años"

La tengo que separar en 2 variables:

$nombre = "Luis Perez"
$edad = "20 años"

Estuve viendo la función split aca: http://php.net/manual/es/function.split.php , pero cuando intento algo como:

<?php
$datos 
"Luis Perezixi20 años";
list(
$nombre$edad) = split('[¡x¡]'$datos);
echo 
$nombre
echo $edad
?>


Pero me está tomando cualquier caracter "¡" o "x" como separador, aparte de que me está mostrando cualquier cosa de resultado, simplemente está chupando las "i" y "x" del valor de la variable.

EDIT: Ahora también probé:

$datos = "Luis Perezix20 años";
$array = split('["ix", 2]', $datos);
echo $array[0];


Y me devuelve "Lu" XD, en $array[1] está sólo la "s" :( no entiendo.

EDIT2: Creo que le pegué, era con explode :P

$datos = "Luis Perezix20 años";
$array = explode("ix", $datos);
$nombre = $array[0];
$edad = $array[1];
echo $nombre;
echo $edad;


Corríjanme :P
#13
Cita de: P4nd3m0n1um en 28 Mayo 2012, 04:49 AM
Código (vb) [Seleccionar]
Do While WebBrowser1.Busy
    Loop
    WebBrowser1.Document.getelementbyid("username").Value = Text2.Text
End Sub


Que buena manera de enviar datos a un formulario web, esto lo pregunté especificamente hace un tiempo y me dijeron que no era posible sin usar sendkeys... ¡los dolores de cabeza que me hubiese ahorrado y que me ahorrarás con esto!

Está lindo el aporte, gracias.

#14
Cita de: WarGhost en 27 Mayo 2012, 15:06 PM
En cada pagina php tendrás que poner session_start();, para iniciar la session a no ser que utilices algún tipo de metodología par ano tener que hacerlo.

Por ejemplo, añadir nu fichero global y ahí iniciarla, entonces solo tendrás que añadir los require en cada fichero.

Gracias Shelly, quedó funcionando y arreglé un poco el relajo que tenía.
#15
Cita de: WarGhost en 27 Mayo 2012, 14:34 PM
uffff, la verdad yo cambiaba todo el código xD, pero bueno lo puedes hacer de muchas formas o con variables de session o bien hacer un formulario en pagina2.php para que envie los valores a paypal.php

Y para hacerlo con session en pagina dos nada mas empezar el script pon:
<?php session_start(); ?>

y luego una vez verifiques los datos:

$_SESSION['textbox2'] = $_GET['textbox2'];
$_SESSION['textbox1'] = $_GET['textbox1'];


y en el fichero paypal.php lo mismo, utiliza la variables ya asignadas.

pero como te digo, si quieres hacerlo bien, tienes que cambiar prácticamente todo el código, separando bien el html del php, filtrando bien todo.

Un saludo.

Gracias, ahí funcionó creo, pero ya no doy más del sueño :( lo voy a ver mañana más fresquito.

¿El session start va sólo donde empieza la sesión o en cada php que le sigue queriendo conservar los datos?
#16
Está todo desorganizado y en partes.

Pagina1.php:

<style type="text/css">
submit {
background-image:url(proceed.gif);
background-repeat:no-repeat;
width:146px;
height:30px;
border:none;
}
</style>

<?PHP
$textbox1 = $_POST['textbox1'];
$textbox2 = $_POST['textbox2'];
?>


<FORM ID="" ACTION="pagina2.php">
<label class="contact">Textbox1:</label>
<INPUT TYPE=TEXT class="textboxstyle" NAME="textbox1" MAXLENGTH=30><BR><BR>
<label class="contact">Textbox2:</label>
<INPUT TYPE=TEXT class="textboxstyle" NAME="textbox2" MAXLENGTH=40>
<br><br>
<INPUT TYPE=SUBMIT VALUE="" class="textboxstyle">
</FORM>


Pagina1 me manda a miweb/pagina2.php?textbox1=LoQuePuso&textbox2=LoQueHayaPuesto

Pagina2.php:


<style type="text/css">
.submit2 {
background-image:url(proceed.gif);
background-repeat:no-repeat;
width:146px;
height:30px;
border:none;
}
.submit3 {
background-image:url(back.gif);
background-repeat:no-repeat;
width:146px;
height:30px;
border:none;
}
</style>

<?php
if (empty($textbox1)) {
echo 
"<h2>Sorry! Textbox1 should not be empty</h2><br>";
}
?>


<?php
if (empty($textbox2)) {
echo 
"<h2>Sorry! Textbox2 should not be empty</h2><br>";
}
?>



<?php
if (empty($textbox1) || (empty($textbox2))){
}
else{
echo 
"<h2>Your text is ok!</h2>";
}
?>



<br><br>

Please Check Your Text:
<?php
echo $_GET['textbox1'];
?>

<br>
Your Slogan:
<?php
echo $_GET['textbox2'];
?>


<br><br><br>

<a href="pagina1.php">
<?php
if (empty($textbox1) || (empty($textbox2))){
echo 
"<input type=button name=back class=submit3>";
}
else{
}
?>

</a>


<a href="paypal.php">
<?php
if (empty($textbox1) || (empty($textbox2))){
}
else{
echo 
"<input type=button name=proceed class=submit2>";
}
?>

</a>


Paypal.php:



<?php
session_start
();
//--------------------------------------------------------------------------------------------//
// read the post from PayPal system and add 'cmd'
$req 'cmd=_notify-validate';
$i 0;
foreach (
$_REQUEST as $key => $value
{
$value urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " strlen($req) . "\r\n\r\n";
$fp fsockopen ('www.paypal.com'80$errno$errstr30);

<
form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="paypal">
<? $url=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$url "http://".substr($url,0,strlen($url)-11)."/"?>

<? $url2="http://".$_SERVER['HTTP_HOST'];?>
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
 <input type="hidden" name="business" value="xxx@xxx.xxx">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="custom" value="<?=$_REQUEST["textbox1"]?>">
<input type="hidden" name="return" value="<?=$url?>succpaid.php" />
<input type="hidden" name="notify_url" value="<?=$url?>success.php">
<input type="hidden" name="cancel_return" value="<?=$url?>failure.php" />
<input type="hidden" name="receiver_email" value="" />
<input type="hidden" name="merchant_product_description" value="Photo Upload">
<input type="hidden" name="item_name_1" value="<?=$item?>" />
<input type="hidden" name="item_number_1" value="<?=$orderid?>" />
<input type="hidden" name="quantity_1" value="1" />
<input type="hidden" name="packageid_1" value="<?=$orderid?>" />
<input type="hidden" name="amount_1" value="259" />
</form>

bla bla bla...

<input type="submit" value="Submit" name='submit'>


Paypal.php me manda a success.php donde se determina si el pago fue realizado.


Success.php:

$item_name = $_REQUEST['item_name_1'];
$item_number = $_REQUEST['quantity_1'];
$payment_amount = $_REQUEST['amount_1'];

$payment_status = $_REQUEST['payment_status'];
$payment_currency = $_REQUEST['mc_currency'];
$txn_id = $_REQUEST['txn_id'];
$receiver_email = $_REQUEST['receiver_email'];
$payer_email = $_REQUEST['payer_email'];
$customdata = $_REQUEST['custom'];

$listing_id = $_REQUEST['list_1'];
$subscription_id =$_REQUEST['item_number1'];
$email = $_REQUEST['payer_email'];


if($payment_status=="Completed")
{

Y acá le manda un mail al admin con el contenido de los 2 textbox entre otras cosas.



Yo quiero, durante toda esta trayectoria, conservar el valor de $textbox1 y $textbox2, estos valores son el texto de los casilleros, que hasta la página 2 la pude pasar, pero de pagina2.php a paypal.php no logro pasar el valor, los ejemplos de lo que probé están más arriba en mi primer thread.

Paypal.php envia a paypal.com a realizar el pago, vuelve a success.php y chequea que se haya completado el pago para enviar el mail con los valores de $textbox1 y $textbox2, pero como el usuario sale de la página, va a paypal y vuelve, se me pierde el valor de las variables incluso si lograra llegar a pasarlas a paypal.php.

Lo que hacía cuando era una sóla linea de texto era utilizar en success.php:

$customdata = $_REQUEST['custom'];

pero PayPal permite sólo 1 linea de texto para el custom, no puedo poner custom2 por ejemplo.

#17
¿Con session lo podré arreglar?

EDIT: Probé y no pude :S
#18
Tengo que pasar el contenido de 2 textboxes de un .php al siguiente y de ese .php al siguiente.

Entremedio del segundo y tercer .php (en orden de ejecución) se realiza un pago de PayPal, siendo el tercer .php el destino final del usuario luego del pago.

Hasta ahora venía usando 1 sólo textbox, usaba:

$textbox1 = $_POST['textbox1'];

Eso en el primer .php.

Y $_GET en el segundo .php, luego metía el $_GET en "custom" en el form de paypal para que paypal me pasara los datos al .php de destino luego del pago:

<input type="hidden" name="custom" value="$_REQUEST["fname"]">

............

Pero ahora que necesito 2 textboxes, no sé como hacer.

Aclaración: NO puedo usar base de datos, tiene que ser puro php.

¿Será que puedo simplemente duplicar el código y agregar un "custom2" y luego en el tercer .php luego del pago de paypal recuperar los datos de ambas variables?

¿Por ejemplo así?:

Primer .php:
$textbox1 = $_POST['textbox1'];
$textbox2 = $_POST['textbox2'];


Segundo .php:
$textbox1 = $_GET['textbox1'];
$textbox2 = $_GET['textbox2'];


paypal.php:
<input type="hidden" name="custom" value="<?=$_REQUEST["textbox1"]?>
<input type="hidden" name="custom2" value="<?=$_REQUEST["textbox2"]?>


Tercer .php (success.php):
$customdata = $_REQUEST['custom'];
$customdata2 = $_REQUEST['custom2'];



Sino no sé como hacer... :S


La otra que ya probé y no me funcionó fue hacer un $_POST del $_GET en cada página luego de la primera que contiene el formulario con los 2 textboxes, pero sólo funciona del primer al segundo .php, luego deja de hacer el POST :(

Probé así:

$textbox1 = $_POST[$_GET['textbox1']];
$textbox2 = $_POST[$_GET['textbox2']];

Y así:


$textbox1 = $_POST[$_GET[$textbox1]];
$textbox2 = $_POST[$_GET[$textbox2]];

¿Me dan una manito?
#19
Cita de: LeandroA en 10 Mayo 2012, 02:49 AM
Hola mira estas dos funciones
Código (vb) [Seleccionar]

Option Explicit
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long

Private Const LOCALE_USER_DEFAULT       As Long = &H400
Private Const LOCALE_SENGCOUNTRY        As Long = &H1002
Private Const LOCALE_SENGLANGUAGE       As Long = &H1001
Private Const LOCALE_SNATIVELANGNAME    As Long = &H4
Private Const LOCALE_SNATIVECTRYNAME    As Long = &H8
Private Const LOCALE_SISO3166CTRYNAME   As Long = &H5A

Public Function GetCountryCode() As String
    Dim sBuffer As String * 100
    GetLocaleInfo LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, sBuffer, 10
    GetCountryCode = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
End Function

Public Function GetCountry() As String
    Dim sBuffer As String * 100
   
    If GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY, sBuffer, 100) Then
        GetCountry = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
    End If
End Function


Private Sub Form_Load()
MsgBox GetCountryCode & vbCrLf & GetCountry
End Sub


fijate que la funcion GetCountryCode retorna una abreviatura del paiz, que es recogida de la configuración local, entonces tenes que conseguirte las imagenes banderas con sus respectivos nombres y luego segun el caso mostras tal bandera.

Saludos.

Con esté código se puede dar que el usuario tenga el windows en 1 idioma o seteado con X país y sin embargo realmente estar en otro país, en mi caso te aparecería que soy de Argentina, pero soy de Uruguay.

Yo ya intenté hacer esto hace rato y si, terminé usando el mismo código porque no me dió la paciencia, pero se puede conseguir una lista de rangos de ip's y en base a eso armar tu propia base de datos con rangos de países conocidos, y bueno, para los rangos desconocidos si usar el código de Leandro.