Portaltv Romania
Portaltv Romania

Reputation: 215

change variable with GET method

I have a page test.php in which I have a list of names:

name1: 992345
name2: 332345
name3: 558645
name4: 434544

In another page test1.php?id=name2 and the result should be:

332345

I've tried this PHP code:

<?php 
libxml_use_internal_errors(true); 
$doc = new DOMDocument(); 
$doc->loadHTMLFile("/test.php"); 
$xpath = new DOMXpath($doc); 
$elements = $xpath->query("//*@".$_GET["id"]."");
if (!is_null($elements)) {
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
?>

I need to be able to change the name with GET PHP method in test1.pdp?id=name4

The result should be different now.

434544

is there another way, becose mine won't work?

Upvotes: 0

Views: 74

Answers (2)

ndasusers
ndasusers

Reputation: 757

Here is another way to do it.

<?php 
libxml_use_internal_errors(true); 

/* file function reads your text file into an array. */
$doc = file("test.php"); 

$id = $_GET["id"];

/* Show your array. You can remove this part after you 
 * are sure your text file is read correct.*/

echo "Seeking id: $id<br>";
echo "Elements:<pre>";
print_r($doc);
echo "</pre>";

/* this part is searching for the get variable. */

if (!is_null($doc)) {
    foreach ($doc as $line) {
        if(strpos($line,$id) !== false){
            $search = $id.": ";
            $replace = '';
            echo str_replace($search, $replace, $line);
        }
    }
} else {
    echo "No elements.";    
    }
?> 

Upvotes: 1

Shomz
Shomz

Reputation: 37701

There is a completely different way to do this, using PHP combined with JavaScript (not sure if that's what you're after and if it can work with your app, but I'm going to write it). You can change your test.php to read the GET parameter (it can be POST as well, you'll see), and according to that, output only the desired value, probably from the associative array you have hard-coded in there. The JavaScript approach will be different and it would involve making a single AJAX call instead of DOM traversing using PHP.

So, in short: AJAX call to test.php, which then output the desired value based on the GET or POST parameter.

jQuery AJAX here; native JS tutorial here.

Just let me know if this won't work for your app, and I'll delete my answer.

Upvotes: 0

Related Questions