PHP - Breadcrumb With Re-written Url
Hi,
In my application I have not used any folders to define the hierarchy. All file s are in a single folder. What is the easy way of creating the Breadcrumb. I am rewriting the URL from www.mysite.com/main.php/page=pagename&id=10 to www.mysite.com/main/pagename/id/10 Is it possible to use the re-written URL to create the breadcrumb? If yes I can define hierarchy in the URL and use the same to create breadcrumb. Similar TutorialsThis script works fine except, the a href only displays baseurl/current_folder instead of baseurl/other_folder/other_folder/current_folder I'm sure it's simple, but I can't figure it out. Code: [Select] function breadcrumbs($separator = '', $home = 'Home') { $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))); $base_url = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/'; $breadcrumbs = array("<p><a href=\"$base_url\">$home</a></p>"); $last = end(array_keys($path)); foreach ($path AS $x => $crumb) { $title = ucwords(str_replace(array('.php', '_'), Array('', ' '), $crumb)); $title = ucwords(str_replace(array('.html', '_'), Array('', ' '), $crumb)); if ($x != $last){ $breadcrumbs[] = "<p><a href=\"$base_url$crumb\">$title</a></p>"; }else{ $breadcrumbs[] = "<p>$title</p>"; } } return implode($separator, $breadcrumbs); } echo breadcrumbs(); I have a breadcrumb scrpt that works well except I want it to be like the breadcrumb script here on phpfreaks. I need to get parts of the url that the script gets to create the trail and query the database to replace those parts of the url. Say i have a url like mydomain.com/forum/1/2, where 1 is the board and 2 topic, how would i change the code so if the part[1] was forum it replaces parts 2 and 3 with what it's in the database? Here is my breadcrumb script function breadcrumb( $home = 'Home', // Name of root link $division = ' / ', // Divider between links $hidextra = true, // Toggle hide/show get data and fragment in text $index = false, // Toggle show/hide link to directory if it does not contain a file $indexname = 'index.php' // The definition of the file the directory must contain ) { $breadcrumb=""; // Requested addons... $extension = '.php'; // Extension to cut off the end of the TEXT links $ifIndex = 'index.php'; // Filename of index/default/home files to not display // End requested addons $whole = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $parts = explode('/', $whole); $parts[0] = 'http://'.$parts[0]; $array = array('-', '%20'); $breadcrumb .= "<a href=\"{$parts[0]}\">{$home}</a>{$division}"; $k = 1; for ($i=1;$i < sizeof($parts);$i++) { $uri = '/'; while ($k <= $i) { $uri .= $parts[$k]; if ($k != (sizeof($parts)-1)) $uri .= '/'; $k++; } if (($index && is_dir($_SERVER['DOCUMENT_ROOT'].$uri) && is_file($_SERVER['DOCUMENT_ROOT'].$uri.$indexname) || !$index || !is_dir($_SERVER['DOCUMENT_ROOT'].$uri)) && $parts[$i] != $ifIndex) { $breadcrumb .= "<a href=\"$uri\">"; if ($hidextra) { $breadcrumb .= rtrim(preg_replace("/\?.*$/", '', ucwords(str_replace($array," ",$parts[$i]))), $extension); } else { $breadcrumb .= rtrim(ucwords($parts[$i]), $extension); } $breadcrumb .= '</a>'; } else { $breadcrumb .= ucwords(str_replace($array," ",$parts[$i])); } if (isset($parts[($i+1)])) { $breadcrumb .= $division; } $k = 1; } return $breadcrumb; } Hello everyone, I'm exporting some mysql data to a text file. The data can be selected by checkboxes from a table. I want to format the text that will be in text file. How do I do that? This is my code: Code: [Select] <?php if ($_POST['exporttxt']) { for($i=0;$i<count($_POST['checkbox']);$i++){ $export_id = $checkbox[$i]; $text = mysql_query("SELECT code FROM tickets WHERE id='$export_id'"); $text = mysql_fetch_assoc($text); $text = $text["code"]; $filename = "export"; $filedate = date("Y-m-d"); $fileext = ".txt"; $fileall = $filename.$filedate.$fileext; ob_end_clean(); header("Content-Type: application/octet-stream"); header("Content-disposition: attachment;filename=\"$fileall\""); header("Content-Type: application/force-download"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: ".strlen($output).";\n"); echo($text); } } exit(); ?> The data that will be exported are numbers containing of 16 digits. After every number I want to have a line-break. Also if possible I would like to have a space after 4 digits for every number, example: Number non-formatted: 1234567891234567 Number formatted: 1234 5678 9123 4567 How can I do that? Hi guys. I have a problem in my web based examanation system written in php. Here's the scenario: when a user takes an exam. 1 question is displayed 1 at a time. my problem is if he/she is at the 2nd question then he/she pressed the back button he/she is redirected back to the 1st question and my system just go crazy. How can i prevent the user from pressing the back button or returning to the previous questions? Please I really need help on this. Can anyone give me suggestion for possible solutions on my problem? Thanks in advance by the way here's my code, you can also download it from attachment. ------------------------------------------process_exam.php------------------------------------------------------------ <?php //start session session_start(); //declare variables //iCorrect= variable for score $_SESSION['iCorrect']=0; //a=variable for iteration kang index kang mga array or serves as an current item number $_SESSION['a']=1; //connect to database include('mysql_connect.php'); $result = mysql_query("select * from questions where exam_id ='$_SESSION[exam_id]'"); //count the number of found questions $_SESSION['num_of_questions']=mysql_num_rows($result); //declare the iterator $i=1; //get the options for the question1,question2 and so on and so on. depende kung ilang questions ang mafetch nya sa dbase.so pde kht ilang questions lagay ng user while ($row = mysql_fetch_assoc($result)) { $questions[$i] = $row['question']; $op1[$i] = $row['op1']; $op2[$i] = $row['op2']; $op3[$i] = $row['op3']; $op4[$i] = $row['op4']; $answers[$i]=$row['answer']; $i++; } //view the data's in the array for debugging purposes echo 'answers: '; print_r($questions); echo '<br>'; print_r($op1); echo '<br>'; print_r($op2); echo '<br>'; print_r($op3); echo '<br>'; print_r($op4); echo '<br>'; print_r($answers); echo '<br>'; echo '<br>'; //pass the arrays to session arrays to be used in other php pages $_SESSION['question']=$questions; $_SESSION['op1']=$op1; $_SESSION['op2']=$op2; $_SESSION['op3']=$op3; $_SESSION['op4']=$op4; $_SESSION['answers']=$answers; //print the arrays. debugging purposes //1 is the starting index of the array because the $i is equal to 1 print_r($_SESSION['question']); echo '<br>'; print_r($_SESSION['op1']); echo '<br>'; print_r($_SESSION['op2']); echo '<br>'; print_r($_SESSION['op3']); echo '<br>'; print_r($_SESSION['op4']); echo '<br>'; print_r($_SESSION['answers']); header("location:exam.php"); ?> </body> </html> ----------------------------------------------------------exam.php-------------------------------------------------------------------- <?php //start session session_start(); echo '<br>'; echo '<br>'; echo '<tr>'; echo '<b>'; echo 'Question: '; echo '<td align = center>'.$_SESSION['question'][$_SESSION['a']].'</td>'; echo '</tr>'; echo '<form method = "post" action= "nxt_question.php">'; echo '<table border = "0">'; echo '<tr>'; //echo '<td>'; echo "<td><Input type =\"Radio\" Name =\"choice\" value='".$_SESSION['op1'][$_SESSION['a']]."'>"; echo '<td>'.$_SESSION['op1'][$_SESSION['a']].'</td>'; echo '</tr>'; echo '<tr>'; echo "<td><Input type =\"Radio\" Name =\"choice\" value='".$_SESSION['op2'][$_SESSION['a']]."'>"; echo '<td>'.$_SESSION['op2'][$_SESSION['a']].'</td>'; echo '</td>'; echo '</tr>'; echo "<td><Input type =\"Radio\" Name =\"choice\" value='".$_SESSION['op3'][$_SESSION['a']]."'>"; echo '<td>'.$_SESSION['op3'][$_SESSION['a']].'</td>'; echo '</tr>'; echo "<td><Input type =\"Radio\" Name =\"choice\" value='".$_SESSION['op4'][$_SESSION['a']]."'>"; echo '<td>'.$_SESSION['op4'][$_SESSION['a']].'</td>'; echo '</tr>'; echo '</table>'; echo '<tr> <td> <input type = "submit" value="Next Question"> </td> </tr>'; echo '</form>'; ?> ----------------------------------------------nxt_question.php------------------------------------- <?php //start session session_start(); //Checking of answers kada mag pindot next question button if(isset($_POST['choice'])) { $ans_of_user=$_POST['choice']; $_SESSION['answers'][$_SESSION['a']]; if (strcmp($ans_of_user,$_SESSION['answers'][$_SESSION['a']])==0) { $_SESSION["iCorrect"]++; } } //add 1 to the session a. session a is the iterator. serves as indexes of the arrays that stores the questions,answers etc... $_SESSION['a']++; //ridirect to exam.php if there are still number of items remaining. while($_SESSION['a']<=$_SESSION['num_of_questions']) { header("location:exam.php"); exit(); //kill the script } echo 'exam finished!'; echo '<br>'; echo 'Your score is: '; echo $_SESSION["iCorrect"]; //unset the session variables needed to be reset unset($_SESSION["iCorrect"]); unset($_SESSION["exam_id"]); unset($_SESSION["invitation_code"]); unset($_SESSION["a"]); unset($_SESSION["num_of_questions"]); unset($_SESSION["question"]); unset($_SESSION["op1"]); unset($_SESSION["op2"]); unset($_SESSION["op3"]); unset($_SESSION["op4"]); unset($_SESSION["answers"]); ?> I'm trying to figure out how to create a temporary table of a query join, so I can paginate the results. I kind of made half of this up as i was going along - which is dangerous for a beginner like me. I'm getting this error, and no results on the page: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource on line 179 also, is there a way to combine the two queries (create temp and insert from/into) Code: [Select] $sql2 = "CREATE TEMPORARY TABLE temp_search (plant_id INT PRIMARY KEY AUTO_INCREMENT, scientific_name VARCHAR(75), common_name VARCHAR(75), leaf_shape VARCHAR(75))"; $sqlx = "SELECT descriptors.leaf_shape ,plantae.scientific_name, plantae.common_name FROM descriptors INNER JOIN plantae ON (descriptors.plant_id = plantae.plant_name) WHERE descriptors.leaf_shape LIKE 'auriculate' AND descriptors.leaf_venation LIKE '%$select3%' AND descriptors.leaf_margin LIKE '%$select4%' INTO temp_search (leaf_shape, scientific_name, common_name)"; $sql = "SELECT * FROM temp_search ORDER BY scientific_name ASC LIMIT $start, $limit"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { echo $row['scientific_name'] . $row['common_name'] . $row['leaf_shape'] ; } Hi guys, Should be a simple 1. If i have the following at the top of the page: $page_views = $row['page_views'] + 1; mysql_query("UPDATE table SET page_views='$page_views'"); and then the following at the bottom of the page: echo $row['page_views']; Should I see the page views as 1 the first time the page is visited, 2 the second time the page is visited, and so on......? At the moment im seeing 0 on the first page visit, 1 on the second page visit, 2 on the third..... I had this problem before on another page i was working, and i simply solved it by displaying the mysql query above the echo similar to the code above. However now it does not seem to be working. Am i missing something really simple? lol Thanks Hi there, Im working on my little project and I would appreciate your help. I have only basic knowledge of php, mostly I just copy some scripts that could be useful for me. Im trying to find some simple script that allows me to see the written text on web page no. 1 on webpage no. 2.. Something like send the form to email, except I dont want to send it on email, but different webpage. Something like different way of eshop, where you get your order shipped to email, but I wanna send this information to webpage. Is there such a script like Im describing? Probably is but I dont know how to search for this..
Thank You
Edited by Radim, 21 October 2014 - 07:15 AM. I have an application that was written back in PHP4 days and has ceased development ever since. PHP 4 is basically gone, i can't get it to install on any of my machines now and what i use on my windows boxes (XAMPP) doesn't include PHP4 anymore. When i set everything up, i get ~50 of these: Deprecated: Assigning the return value of new by reference is deprecated in.... and on every line it looks like: $var =& _____ or $var = &something... yada-yada and removing the & symbol removes the error message. Using editplus i removed all the "=&" and "= &" and just replaced the & with space, i had read on google PHP5 doesn't need it anymore so that should've worked. But as my luck would have it, the server errors out with 500 code until i replace all the &'s back, and then the errors show up yet again. Is there anyway to force php5 to run this program despite having php4 things in it? |