[Solucionado]: Utilizar funciones de una página en php

Iniciado por grester43hck, 14 Enero 2011, 16:03 PM

0 Miembros y 4 Visitantes están viendo este tema.

grester43hck

Hola, tengo una inquietud, y es que quiero aprender a utilizar desde vb funciones que esten en una página web en php, claro esta que no quiero tener que abrir el navegador xD. ¿Alguien sabe de alguna api o algo para poder empezar a buscar informacion?

Gracias.

Un saludo  ;).

agus0

Si. Tenes que Invocar a los PHP o desde el control WebBrowser o INET o Usando las API. Y asi pasarle los parametros GET "?Var=XXXX", etc...

grester43hck

mmm...solo pasandole los parametros te los devuelve a vb? no hace falta llamar propiamente a la funcion?

agus0

Cita de: grester43hck en 14 Enero 2011, 16:32 PM
mmm...solo pasandole los parametros te los devuelve a vb? no hace falta llamar propiamente a la funcion?

Es que no podes llamar a la funcion.

Primero tenes que hacer un programa en php que al pasarle las variables por metodo GET te devuelva (HTML) lo que quieras y asi leerlo con vb. me explico?

agus0

Mira aca esta un Source mio que se conecta a un Script PHP para enviar Mails, Fijate que apartir de este, vas a enteder como hacerlo...

http://foro.elhacker.net/empty-t310006.0.html

grester43hck

ok, ya lo voy pillando, despues para recojer el resultado de la funcion del php ¿como hago? es decir imaginemos que tengo esto en php:

<?php
function suma($num1$num2)
{

$resultado=($num1+$num2);
return 
$resultado;

}


Para obtener el resultado, ¿como puedo hacerlo?

raul338

puedes llevar contigo el PHP.exe y usarlo como una consola :) (Busca sobre Tuneles y OpenProcess)

grester43hck

Cita de: raul338 en 14 Enero 2011, 19:15 PM
puedes llevar contigo el PHP.exe y usarlo como una consola :) (Busca sobre Tuneles y OpenProcess)

Mmm no es eso a lo que me refiero, me refiero a un php en un servidor web y que con vb pasandole unos parametros me devuelva un resultado. El problema viene con lo del resultado, como recojo los datos? se me ocurre poner en el php que meta los datos en un archivo de texto y luego el vb lo baje, pero igualmente es muy problematico, ya que si otra persona esta uttilizandolo al mismo tiempo o el php tarda algo mas de lo normal, los datos descargados pueden ser erroneos.

agus0

Cita de: grester43hck en 14 Enero 2011, 16:59 PM
ok, ya lo voy pillando, despues para recojer el resultado de la funcion del php ¿como hago? es decir imaginemos que tengo esto en php:

<?php
function suma($num1$num2)
{

$resultado=($num1+$num2);
return 
$resultado;

}


Para obtener el resultado, ¿como puedo hacerlo?

Tendrias que adaparlo para que le Retornen los datos a vb... Si me das un Segundo ahora edito con el Source armado...

agus0

Bueno seria asi...

El Codigo en PHP para Utilizar esa Funcion seria...

Código (php) [Seleccionar]
<?php
function Suma($num1$num2){
$resultado=($num1 $num2);
return 
$resultado;
}

echo(
suma($_GET["num1"], $_GET["num2"]));
?>


y la Funcion en vb para llamar a eso Seria en un Modulo:
Código (vb) [Seleccionar]
Option Explicit
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_OPEN_TYPE_PROXY  As Long = 3
Private Const INTERNET_FLAG_RELOAD      As Long = &H80000000
'Servidor:
Private Const URLServer = "http://www.tulink.com/tuscrip.php"

Private Function OpenURL(sURL As String) As String
    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long, sRead As String
    sBuffer = Space(1024)
    hOpen = InternetOpen("VB-OpenURL", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
    Do
        InternetReadFile hFile, sBuffer, 1024, Ret
        sRead = sRead & Left(sBuffer, Ret)
        If Ret = 0 Then Exit Do
    Loop
    OpenURL = sRead
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
End Function

Public Function ExecPHP(Var1 As String, Var2 As String) As String
    ExecPHP = OpenURL(URLServer & "?num1=" & Var1 & "&num2=" & Var2)
End Function


y en el Form1

Código (vb) [Seleccionar]
Private Sub Form_Load()
    MsgBox ExecPHP(4, 6)
End Sub


esto lo que hace es ni bien ejecutas tu programa envia al servidor la Variable1 (4) y la variable2(6) entonces el Servidor nos retorna 10 que es la suma entre 6 y 4...

Cualquier duda me avisas pero creo que esta mas que claro :P