PDA

View Full Version : PHP Risultato echo


Pro7on
18-06-2007, 12:58
una domanda io con un echo stampo un form che poi mi genera una pagina html ripresa dall'esterno, come faccio a prendere il sorgente di quella parte o se volete il risultato del echo?

andbin
18-06-2007, 13:13
una domanda io con un echo stampo un form che poi mi genera una pagina html ripresa dall'esterno, come faccio a prendere il sorgente di quella parte o se volete il risultato del echo?Alt ... non è molto chiaro (almeno a me). Con un echo mandi in output un form e fin qui ok. Poi cosa intendi con "che poi mi genera una pagina html ripresa dall'esterno"??

Pro7on
18-06-2007, 13:21
Alt ... non è molto chiaro (almeno a me). Con un echo mandi in output un form e fin qui ok. Poi cosa intendi con "che poi mi genera una pagina html ripresa dall'esterno"??


in poche parole io ho un form nel echo che mi genera una pagina, poi in quel form ci metto un valore e premo il submti che completa una pagina(un sito) tramite un post;

adesso come faccio a leggere il sorgente di una pagina completata col mio post?

andbin
18-06-2007, 13:28
in poche parole io ho un form nel echo che mi genera una pagina, poi in quel form ci metto un valore e premo il submti che completa una pagina(un sito) tramite un post;A dire il vero sono i dati presenti nei campi del form che vengono inviati tramite POST al URL specificato nel action ....

adesso come faccio a leggere il sorgente di una pagina completata col mio post?Che vuol dire "completata col mio post"?? :confused:

Pro7on
18-06-2007, 13:36
A dire il vero sono i dati presenti nei campi del form che vengono inviati tramite POST al URL specificato nel action ....

Che vuol dire "completata col mio post"?? :confused:


A dire il vero sono i dati presenti nei campi del form che vengono inviati tramite POST al URL specificato nel action ....

Pro7on
18-06-2007, 13:40
in poche parole:
c'è un sito che a un form che tramite post restituisce un valore.

a me serviva fare un programma che mi inseriva dei dati nel form e scrivessi il risultato che mi ritorna su un file txt...

nn so se ho reso l'idea :confused:

andbin
18-06-2007, 13:48
in poche parole:
c'è un sito che a un form che tramite post restituisce un valore.

a me serviva fare un programma che mi inseriva dei dati nel form e scrivessi il risultato che mi ritorna su un file txt...Programma in quale linguaggio? E la pagina a cui vengono inviati i dati che cosa fornisce come output?

Pro7on
18-06-2007, 13:50
Programma in quale linguaggio? E la pagina a cui vengono inviati i dati che cosa fornisce come output?


php io e la pagina che uso cmq restituisce del testo

andbin
18-06-2007, 13:53
php io e la pagina che uso cmq restituisce del testoAllora prova a vedere la libreria CURL, vedi un esempio che avevo fatto in <questo> (http://www.hwupgrade.it/forum/showthread.php?t=1370279) thread.

Pro7on
18-06-2007, 13:59
Allora prova a vedere la libreria CURL, vedi un esempio che avevo fatto in <questo> (http://www.hwupgrade.it/forum/showthread.php?t=1370279) thread.


thx;) guardo e provo

Pro7on
18-06-2007, 14:26
ma mi da questo errore: Call to undefined function curl_init() in
:?

andbin
18-06-2007, 14:40
ma mi da questo errore: Call to undefined function curl_init() in
:?Non è caricato il modulo della libreria CURL. Se stai lavorando in locale sul tuo PC, allora hai sicuramente accesso al php.ini. Editalo e decommenta la riga ;extension=php_curl.dll

Pro7on
18-06-2007, 15:07
Non è caricato il modulo della libreria CURL. Se stai lavorando in locale sul tuo PC, allora hai sicuramente accesso al php.ini. Editalo e decommenta la riga ;extension=php_curl.dll


ciò significa che devo togliere quel ";" giusto? xche lo già tolta:D

andbin
18-06-2007, 15:12
ciò significa che devo togliere quel ";" giusto? xche lo già tolta:DEsatto e assicurati anche che la direttiva extension_dir contenga il path corretto dove sono presenti i moduli di estensione e quindi riavvia il server.

Pro7on
18-06-2007, 15:18
Esatto e assicurati anche che la direttiva extension_dir contenga il path corretto dove sono presenti i moduli di estensione e quindi riavvia il server.

ma caspita la directori dell extension_dir e aposto nell extension_dir c'è il file ..curl

o tolto il ;

ma nn và........:muro:

Fatal error: Call to undefined function curl_init() in C:\xampp\htdocs\smip\index.php5 on line 22

sorgente:


<html>
<head>
<link rel="shortcut icon" href="">
</head>
<body link="#8080FF">

<?php


$curlRes = curl_init ();

curl_setopt ($curlRes, CURLOPT_URL, "nomesito.asd");
curl_setopt ($curlRes, CURLOPT_POST, TRUE);
curl_setopt ($curlRes, CURLOPT_POSTFIELDS, "45659");
curl_setopt ($curlRes, CURLOPT_RETURNTRANSFER, TRUE);

$ret = curl_exec ($curlRes);

curl_close ($curlRes);

?>

</body>
</html>

andbin
18-06-2007, 15:28
ma caspita la directori dell extension_dir e aposto nell extension_dir c'è il file ..curl

o tolto il ;

ma nn và........:muro:

Fatal error: Call to undefined function curl_init() in C:\xampp\htdocs\smip\index.php5 on line 22Fai una pagina di phpinfo e vedi se la estensione è caricata o meno (ma se ti dice undefined non l'ha sicuramente caricata).

Pro7on
18-06-2007, 15:31
no ok: ho riavviato il pc e nn dà più errori :D

andbin
18-06-2007, 15:37
no ok: ho riavviato il pc e nn dà più errori :DBastava riavviare il server come avevo detto ..... se il tuo server web gira come servizio di sistema basta andare in Start -> Programmi -> Strumenti di amministrazione -> Servizi e lo riavii.

Pro7on
18-06-2007, 15:40
Bastava riavviare il server come avevo detto ..... se il tuo server web gira come servizio di sistema basta andare in Start -> Programmi -> Strumenti di amministrazione -> Servizi e lo riavii.

no io uso xampp, e avevo solo riavviato apache dal pannello di controllo di xampp




$ch = curl_init("http://www.smipweb.ch/");
$fp = fopen("file.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);




xche nn scrive nulla :?

andbin
18-06-2007, 15:48
$ch = curl_init("http://www.smipweb.ch/");
$fp = fopen("file.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

xche nn scrive nulla :?A me funziona benissimo.

Pro7on
18-06-2007, 15:49
A me funziona benissimo.

mm ma allora sono sfigatoo..:muro: :muro:


fff e vedrò cosa rompe le scatole

Pro7on
18-06-2007, 15:59
mm domanda ho provato a metterlo in uno spazio web, ma mi da l'errore che nn trova il could... in questi casi come fai ad'impostare il .ini?

andbin
18-06-2007, 16:19
mm domanda ho provato a metterlo in uno spazio web, ma mi da l'errore che nn trova il could... in questi casi come fai ad'impostare il .ini?Se ti riferisci ad altervista, no non è disponibile la libreria CURL. L'accesso al php.ini negli hosting "reali" su internet è solo per gli amministratori (o comunque i proprietari dei server) e non credo che le estensioni le attivino così ... solo perché uno ne fa richiesta. Anche perché se le attivassero sarebbero attivate per tutti gli utenti.

E tra l'altro, anche se attivassero la CURL, bisogna vedere se la loro rete permette connessioni all'esterno.

ianaz
18-06-2007, 16:23
Non ho capito perché vuoi utilizzare quell'estensione

Pro7on
18-06-2007, 18:43
Non ho capito perché vuoi utilizzare quell'estensione

eee topSicret poi quando sarai più grande te lo dirò :D :D :D

;)


cmq ho provato a casa e funziona;) solo che nn capisco una cosa come faccio a mettere il source che leggo in una variabile tipo stringa perchè in pratica devo filtrare il testo... :D

xche se faccio echo $ch (sarebbe il curl_init) mi da: resource 3#....

ianaz
18-06-2007, 18:46
Ci sarà senz'altro un altra possibilità per fare quello che vuoi fare senza quell'estensione no?!

Pro7on
18-06-2007, 18:59
Ci sarà senz'altro un altra possibilità per fare quello che vuoi fare senza quell'estensione no?!

e nn so se no nn choedevo :D, cmq ho googlezzato ma senza trovare nulla che nn si sia detto qui :-

ianaz
18-06-2007, 19:01
Ma dimmi l'obbiettivo... a cosa ti serve questa cosa?

kk3z
18-06-2007, 19:50
Queste sono le funzioni che uso per fare una richiesta in POST senza curl (PHP4):
function http_build_query($data)
{
$query = "";
foreach($data as $key => $value)
{
if ($query)
$query .= "&";
$query .= "$key=$value";
}

return $query;
}

function http_post_request($url, $data, &$headers)
{
$url_parts = parse_url($url);
$server = $url_parts['host'];
$port = $url_parts['port'] ? $url_parts['port'] : 80;
$url = $url_parts['path'];
$content = http_build_query($data);
$content_length = strlen($content);

$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp)
return "Impossibile connettersi al server.<br>";
else
{
$header .= "POST $url HTTP/1.0\r\n";
$header .= "Host: $server\r\n";
$header .= "Content-type: application/x-www-form-urlencoded\r\n";
$header .= "Content-length: $content_length\r\n\r\n";
fputs($fp, $header);
fputs($fp, $content);

while (!feof($fp))
$ret .= fgets($fp, 1024);

fclose($fp);
}

//Strip headers
if (ereg("^HTTP", $ret))
{
$ar = split("\r\n", $ret);
while ($line = array_shift($ar))
{
if (strlen($line) < 1)
break;
$headers[] = $line;
}

$ret = join("\r\n", $ar);
}

return $ret;
}

Esempio:
$headers = array();
$data = array("chiave" => "valore");
$risultato = http_post_request("http://www.google.it", $data, $headers);

Pro7on
19-06-2007, 12:35
Queste sono le funzioni che uso per fare una richiesta in POST senza curl (PHP4):
function http_build_query($data)
{
$query = "";
to = http_post_request("http://www.google.it", $data, $headers);

mica capito .... -.-''

Pro7on
20-06-2007, 10:15
:help: :help: :help: PLASE!:muro: