Mike088 Posted October 11, 2008 Share Posted October 11, 2008 Basically I am making a search query using the ebay API... uhh I don't think you will need to have any knowledge of the API to help here as all I need to do is fix something up regarding the variables I have set. So when I first load the page I am getting an error about an undefined variable ($query). What I have worked out is basically that is because the variable = 'the word submitted into the form' and obviously when it first loads there is no word submitted... how do I go about making it not try and load that variable until the search is executed through the form input? Here is my code: <?php if(isset($_POST['submit'])) { $query = trim($_POST["word"]); } error_reporting(E_ALL); // turn on all errors, warnings and notices for easier debugging $SafeQuery = urlencode($query); $endpoint = 'http://open.api.ebay.com/shopping'; // URL to call $responseEncoding = 'XML'; // Format of the response // Construct the FindItems call $apicall = "MY APP ID AND SUCH YOU DONT NEED TO SEE"; // Load the call and capture the document returned by the Shopping API $resp = simplexml_load_file($apicall); // Check to see if the response was loaded, else print an error if ($resp) { $results = ''; // If the response was loaded, parse it and build links foreach($resp->Item as $item) { $link = $item->ViewItemURLForNaturalSearch; $title = $item->Title; // For each result node, build a link and append it to $results $results .= "<a href=\"$link\">$title</a><br/>"; } } // If there was no response, print an error else { $results = "Oops! Must not have gotten the response!"; } ?> <html> <head> <title>eBay Search Results For <?php print $query ?></title> </head> <body> <form action="Working.php" method="post"> Enter Your Word: <input type="text" name="word" /> <input type="submit" value="Submit" name="submit"/> </form> <h1>eBay Search Results</h1> <?php echo $results;?> </body> </html> I am pretty much a noob lol so I give you permission to laugh at me with my attempt to do this kind of stuff Any help much appreciated. Link to comment https://forums.phpfreaks.com/topic/127934-easy-fix-but-i-dont-know-how-help-please-lol-p/ Share on other sites More sharing options...
hitman6003 Posted October 11, 2008 Share Posted October 11, 2008 You probably aren't getting an error, but rather a notice. These are harmless, however they usually point out small "good practices" in your code that need to be fixed. The one you are encountering is when you use a variable that hasn't been defined before. You can turn off notices by doing this: error_reporting(E_ALL ^ E_NOTICE); or you can define a default value for query...at the top of your page, put something like: <?php $query = "Unknown"; // ... rest of code or you can have a check where you print the value of $query... <?php print (empty($query) ? "unknown" : $query); ?> Link to comment https://forums.phpfreaks.com/topic/127934-easy-fix-but-i-dont-know-how-help-please-lol-p/#findComment-662448 Share on other sites More sharing options...
Bendude14 Posted October 11, 2008 Share Posted October 11, 2008 <?php if(isset($_POST['submit'])) { $query = trim($_POST["word"]); error_reporting(E_ALL); // turn on all errors, warnings and notices for easier debugging $SafeQuery = urlencode($query); $endpoint = 'http://open.api.ebay.com/shopping'; // URL to call $responseEncoding = 'XML'; // Format of the response // Construct the FindItems call $apicall = "MY APP ID AND SUCH YOU DONT NEED TO SEE"; // Load the call and capture the document returned by the Shopping API $resp = simplexml_load_file($apicall); }//end of if(isset($_POST['submit']; ?> Moving that bracket lower down should fix the problem as it will not try to process the code with $query in until the search has been submitted.. Link to comment https://forums.phpfreaks.com/topic/127934-easy-fix-but-i-dont-know-how-help-please-lol-p/#findComment-662450 Share on other sites More sharing options...
Mike088 Posted October 11, 2008 Author Share Posted October 11, 2008 Thanks, new it would be something simple like that (probably just need some more coffee). To be honest I don't know why I didn't think about the fundamental fact that php executes from top to bottom lol EDIT: Uhh this is SOLVED but somethings up with the 'Topic Solved' button giving me a database error. Link to comment https://forums.phpfreaks.com/topic/127934-easy-fix-but-i-dont-know-how-help-please-lol-p/#findComment-662460 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.