PHP nybörjarfråga

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2006-01-31 08:46

Skulle behöva hjälp med att utforma en länk som skickar med värden till en variabel, och som sedan fångas upp på en annan sida. Antar att man får skicka med värdet till variabeln i URL, men hur ser det ut i koden?
Tacksam för svar.

Hej!

Det finns 2 vanliga sätt att skicka med värden till/från sidor och dessa är GET och POST. Med POST syns inte variabeln för användaren medans GET skickas variablen via adressfältet så som sida.php?id=1.

För att komma id på sida.php hämtar man värdet i variabeln $_GET['id'], och motsvarande $_POST['id'] om variabeln skickats via POST istället.

POST är vanligast när saker ska sparas t.ex. till en databas. GET är vanligast vid sökningar och liknande.

  • Medlem
  • 2006-01-31 09:31

någon som vet hur man postar utan att använda ett form?

/hpe

Japps, du kan skicka via post genom att använda följande funktion:

function getURL($method,$host,$port,$path,$param='',$ua=''){
    // Build the request string
    if(is_array($param)){
        $request = array();
        foreach($param as $key => $val){
            $request[] = $key . "=" . $val;
        }
        $request = join('&',$request);
    }else{
        $request = $param;
    }
    $request_length = strlen($request);

    // Build the header
	$header  = "POST $path HTTP/1.0\r\n";
	$header .= "Host: $host\r\n";
	if($ua) $header .= "User-Agent: $ua\r\n";
	$header .= "Content-type: application/x-www-form-urlencoded\r\n";
	$header .= "Content-length: $request_length\r\n";
	$header .= "\r\n";

    // Open the connection
    $fp = fsockopen($host,$port,&$err_num,&$err_msg,30);

    // No Connection Error
    if(!$fp){
        die('Sorry, the server is not currently available!');
    }

    // Send everything
    fputs($fp, $header . $request);

    // Discard the HTTP header
    while(trim(fgets($fp,4096)) != '');

    // Get the response
    while(!feof($fp)){
        $response .= fgets($fp,4096);
    }
    return $response;
}

$path = "/webservice/item.asp"; //Sökväg till mottagarscript
$host = "www.kurslitteratur.se"; //Domän
$q_arr = array('id' => '1', 'annan_var' => 'värde'); //De ariabler som ska skickas via POST
$response = GetURL('POST',$host, 80, $path, $q_arr,''); //Anropa funktionen och skicka med indata.
  • Medlem
  • Stockholm
  • 2006-01-31 10:58

Ok, tackar, ska hem och testsnickra lite nu.

  • Oregistrerad
  • 2006-01-31 12:28

En bra kunskapskälla:

http://phpportalen.net/

1
Bevaka tråden