Jump to content

Leaderboard


Popular Content

Showing most liked content since 08/21/2017 in all areas

  1. 1 point
    I haven't tested how jQuery handles that, but I assume that it's only going to execute whatever code was just added to the page. The rest of the code on the page will be executed when the browser gets to that point. I'm referring to the 2 links you posted above. The direct link does not have that link to #60, the "proxy" link does even though they go to the same page. Why, because it's longer? There's nothing unmistakable about 60, as far as the computer is concerned. 60 is also unique and unmistakable. Both 60 and any hash will convert to binary values that are unique, the computer will not confuse them with each other. So they are both values in the same address space of all binary numbers, one of them is just an enormous number but that's the only real difference, they're just numbers. Why would one of them be said to be a quantitatively "better" number than another? Hashes are really only used for one thing - verification. Passwords are stored as hashes and then the hashes are computed to verify that the entered password matches the stored one, or a file might be distributed along with a checksum hash to verify the integrity of the file, that the file you actually saved is the one they distributed, there was no error in transmission. Hashes don't really offer anything as identifiers that you can't get with any other numeric value, and a hash is just a numeric value represented in a different base. One problem I see with using both a hash and an ID is that people cannot find the pages if they only know the ID. If I think you said something great in podcast 60 and I want to share it with someone else, I can't just check the URL and figure out where the ID goes in the URL, I also need to know some long hash that I can't calculate just by knowing that the podcast was number 60. So the only thing I can do is try to find a link to that page somewhere else, I can't just type it in manually. If that's your goal, if you're trying to add some sort of protection against people being able to figure out the URL for any podcast, if you're trying to control access in some way where they need the specific URL and not just the ID, then that would be the result of requiring the hash to be in the URL. Don't think of it like that, PHP and Javascript don't share any values or anything like that, the only relationship is that you're using PHP to output Javascript code. They don't run in the same address space, they don't even run on the same computer (PHP runs on the server, Javascript runs in the browser). As far as PHP is concerned, it's all just text being sent to the browser, PHP doesn't care whether it's Javascript text or HTML text or any other kind, it's just output. So all you have to do is output that Javascript code outside of the element that is being cloned or copied. I can't specifically tell you how to do that, I'm not looking at everything that you are. I assume you have templates or something with all of that stuff in it, so just make sure the Javascript code to copy the content is not part of the content that gets copied.
  2. 1 point
    The act of adding the new HTML content (it does not matter that the content came from somewhere on the page) causes the browser to execute whatever Javascript is in there. The Javascript that is in there tells it to replace the HTML content again, and that keeps happening until the browser gives up. The position of the PHP code is not relevant as far as the browser is concerned, the position of the Javascript code is relevant. Don't put the Javascript code to do the replacement inside the HTML that gets added, it needs to go outside of the element that you're copying. Now, if you need to change the PHP code to get the Javascript code to show up somewhere else, then do what you need to do. I would expect that you only have to change something inside the template though. It's always better to produce the final version the first time, instead of spending time to produce an intermediate version which then needs to spend more time to produce the final version. Redrawing the page in the browser is a fairly expensive process (relatively speaking), it's best to limit how many times you're telling the browser to draw the page. Browsers have gotten a lot better at that over the last decade, but it's still a good practice to try to just produce the final page the first time. That's just how the browser handles it. The HTML on that page is not valid, there's not much point trying to figure out how or why the browser is going to handle invalid HTML when you should just produce valid markup. The first link causes the Javascript loop and error in the console. That link only shows up when clicking from the other page, right? Why do you use a hash, what's the point? If you have the podcast ID shouldn't that be enough to uniquely identify it?
  3. 1 point
    The call stack exceeded error is because you've created an infinite loop, and Javascript quits when the maximum recursion limit has been reached. It's because you have some Javascript code to get the #podcast_insert HTML, and replace the contents of #main with that HTML. The HTML includes the Javascript code to do that replacement, so each time you replace the code it tries to replace it again and again until Javascript hits the recursion limit. The Javascript code to do that should not be inside that div, it shouldn't be part of the content that you're moving. The title tag issue is probably in a template somewhere. If you open the page in your browser and view the page source you can see that tag before the doctype.
  4. 1 point
    You're also trying to loop over n. What's n?
  5. 1 point
    You are prompting for input within the scope of function to x variable, while calling the function with argument outside the scope of function. It will never be able to know the variable x equals.
  6. 1 point
    It is. If you want to get details about a certain item, that's one page. If you want to view the catalog, that's one page. There aren't any redirects or anything else going on, each request results in a response for that request. If you want to have a page where people can click on the details for each item and see things pop up instantly without sending another request you can do that with Javascript, but the issue there is that you're loading everything for everybody even if they aren't going to use it, and it's going to take a while to create that page. It seems like it's more efficient to send a request for each thing the person wants.
  7. 1 point
    Using href="#" will have side effects compared to button in that it will reload the page, taking you to top of page with address bar url having '#' at end. You can prevent this using javascript: void() in href OR by passing 'event' as function called argument you can within that function use event with preventDefault() to stop the anchors normal action triggering. https://www.w3schools.com/jsref/event_preventdefault.asp https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_oper_void Display Name is a username? doubt anyone but moderator would have permission to do that, IF allowed.
  8. 1 point
    Use a separate field in the table to specify the sort order, and when you insert the data make the sort order field whatever order you want to retrieve the data.
  9. 1 point
    I remember when blink was phased out, Mozilla made a big announcement out of it. It used to work in all browsers, but was deprecated and later removed.
  10. 1 point
    Text-decoration: blink,, is unlikely to be supported in all browsers, as some find if it irritating rather than a useful pleasing feature. You can use css3 animation, to achieve the same effect, similar to using animation to scroll text, which deprecated marquee element used to do.
  11. 1 point
    IF you still want to use console.() to call function with argument, store each value in variable and return THAT final result to console.log function calculate(n) { var results = ""; for (i = 0; i <= n; i++) { var isprime = false; for (j = 2; j <= n; j++) { if (i % j === 0 && i !== j) { isprime = true; } } if (isprime === false) { results += i + "\n"; } } return results; } console.log(calculate(25));
  12. 1 point
    You got undefined because the function is not returning anything. The function must use the return statement.
  13. 1 point
    No, I can't, because there's not a single way for every laptop and every fingerprint reader to communicate with a web browser. Maybe some of them have drivers or features to do that, I don't know. Maybe browsers will start to add APIs to access fingerprint readers the same way they can with webcams, maybe that will happen over the next couple of years. There's no standard for that now that I'm aware of. There may be third-party resources you can use though, I haven't done any research on this company or looked carefully at what they offer but maybe they'll have something that works for you: https://www.voltapass.com/index2.html
  14. 1 point
    If you're specifically talking about sending a location header to redirect the user, I just don't understand the technical need for that. I don't see any problem which gets resolved by redirecting the user to another page, I don't understand why you think that's a solution to any problem you think you have. They're already on your site, PHP can do anything you want it to do, I don't understand why you've come to the conclusion that the thing you want PHP to do is to just redirect the user and start PHP over again. It's already running, just do what you need it to do the first time. It almost seems like you've learned a few things about PHP, you have a solution, and now you're searching for a problem for your solution. I just don't see the need to redirect, I don't see any problem that a redirection solves. The only time you need to redirect someone is if you want them on a different page for whatever reason, maybe because they've just submitted a form, you processed the form, and you don't want them to hit refresh and re-submit the form. Or they just logged in, and you're taking them to wherever they go after logging in. Those are the cases when you might redirect someone. You're describing your solution to redirect a user and I'm missing the problem you're trying to solve by doing that. Why? Why do you need to know that? If you're just interested in tracking traffic and things like that, I would suggest something like Google Analytics. Otherwise, why would any page care where the user came from, why is that relevant to what the page is supposed to produce? I'm not sure if we're experiencing a language or terminology barrier or what, but I'm having a hard time understanding why you think you have all of these requirements. A web page, or PHP page, or whatever, typically has a single purpose in terms of what it displays, and that purpose typically does not depend on where the user came from. A certain URL, in general, should always show the same content regardless of how the user got there. You wouldn't want people to share a certain URL and have it show different content for different people, that wouldn't make sense to them. You're talking about setting session variables when the user gets to the page, why? The session is for tracking who the user is, if they just got to your site you don't know anything about them, why do you think you have to use the session? It sounds like you're learning individual tools in PHP and then trying to apply everything to your site even though it's not necessary. Not every page or site needs to use every PHP function.
  15. 1 point
    All you have to do is set the divs inline style display to display: none; make sure it has the id reference, and you are there.
  16. 1 point
    Why should it hide? there is nothing there to cause it to hide.
  17. 1 point
    The foreign key should be defined on the second table, not the first one. The second table has a foreign key to the parent table.
  18. 1 point
    The idea of a foreign key is that the database would not allow you to enter a non-existent order_number in your cust_time table. It would only accept order_numbers that already exist in the customer table.
  19. 1 point
    Put the margin on the image.
  20. 1 point
    It's common to use ajax to send a request for partial content and fill that in on the page. I don't know if jQuery's load method will automatically execute any Javascript sent with the HTML, but if not that's something else to consider. A common practice would be to return a JSON structure with an HTML part and a Javascript part, where you would add the HTML then execute the Javascript.
  21. 1 point
    Dots? lines, more like, this seems to be a separator used by this theme for class container, luckily it uses unique id identifier so we won't mess up this separator feature if used somewhere else. #clientes .container::before { width: 0; }
  22. 1 point
    .et_pb_row_1 { max-width: none; width: auto; }
  23. 1 point
    Use string to time function strtotime(), you can multitude textual expression to get the result you want, then loop through each day by increasing by 1 in a loop // set initial start date to next sunday from current date $date = date("Y-m-d", strtotime("next Sunday")); //set from $date value to 1 week ahead for end date $end_date = date("Y-m-d", strtotime("+1 week", strtotime($date))); //'2020-12-31'; while (strtotime($date) <= strtotime($end_date)) { echo $date . "<br>"; //increment to next day $date = date("Y-m-d", strtotime("+1 day", strtotime($date))); }
  24. 1 point
    In your function declaration you wrote J instead of I.
  25. 1 point
    The length is 3. The indexes go from 0 to 2. That is 3 elements, which is why the length is 3. 0, 1, 2 -> that's 3 elements.
  26. 1 point
    echo '<form method="post" action="findorder.php?order_num=' . $order_num . '"><input type="submit" name="testing" value="Edit" /></form>'; Will work with $this_order = $_GET['order_num']; //would retrieve value of $order_num $this_test = $_POST['testing']; // would retrieve value of 'Edit'. echo $this_order . '<br>' . $this_test; IF get method the input will overwrite the querystring set in action, if you wish to use GET method you would have to do it this way echo '<td><form method="get" action="findorder.php"><input type="hidden" name="order_num" value="'$order_num.'" ><input type="submit" name="testing" value="Edit" /></form></td>'; with $this_order = $_GET['order_num']; //would retrieve value of $order_num $this_test = $_GET['testing']; // would retrieve value of 'Edit'. echo $this_order . '<br>' . $this_test; IF going this way it would be better to set form AS POST method, so the naming and values do not appear in address bar of browser
  27. 1 point
    Try last suggestion I added in my post before this one, the previous will work if changed to post method but you would use $this_order = $_GET['order_num']; //would retrieve value of $order_num $this_test = $_POST['testing'] // would retrieve value of 'Edit' because you are using get the input value will overwrite the one set in action (unless you add a '&' at end to include both)
  28. 1 point
    You haven't added a index reference name, just the value edituser.php?cust_id=n filename with querystring initialiser : index name : value ($order_mum) So when you need to read value of specific name index $this_order = $_GET['cust_id'];
  29. 1 point
    dsonesuk is referring to using <a> tag. Like: <a href="edituser.php?cust_id=n">Edit User</a>
  30. 1 point
    The second parameter indicates the size of the subsets to search for, not the size of the initial set. The expected output is wrong. The people who provided the exercise mentioned it here: http://www.w3resource.com/javascript-exercises/javascript-function-exercise-21.php#comment-3039932910 The output should only have subsets with two elements.
  31. 1 point
    What do you mean by encoding your php code? All i know is encoding charachters (UTF-8 etc) or json_encode(). What should your encoded code do?
  32. 1 point
    Yes! you can easily reformat the date format from database to whatever you want, with whatever separators you want on output using echo, see https://www.w3schools.com/php/showphp.asp?filename=demo_func_date_format https://www.w3schools.com/php/php_date.asp Its just a matter of swapping YY and DD on desired string format parameter
  33. 1 point
    If you use any of the date types in mysql database it should save it as 'YYYY-MM-DD' only, if you save as text string you should be able to save as you want it. but! IF you wish to do calculations through MYSQL query's it expects the format to be as used by date types, OR if calculation of dates through PHP, it expects if year month and days used be be 'YYYY-MM-DD' formatting type with exception of hyphens where slashes could be used. Of course you could retrieve specific date ref from custom text string date, and put them in correct order for calculation, but that means more work, whereas you could reformat the database date on output to a page. http://w3resource.com/mysql/date-and-time-functions/mysql-weekofyear-function.php
  34. 1 point
    If you want to list altogether, Either list in JavaScript array, xml file, or server database, then loop through them producing the options within <select>...</select> elements.
  35. 1 point
    I don't know how the recent forum update gets parsing so wrong, but this is what I had for that last part, I didn't have any nested quotes. I'm not sure what you mean. There's only 1 kind of cookie as far as browsers and servers are concerned. The session cookie in PHP is just another cookie, like any other cookie, with all of the same options available to it as any other cookie. You can configure the settings for it just like you can configure the settings for any other cookie you want to set. I don't know, it's probably left up to the browser vendors on how to handle that, I doubt that behavior is defined so specifically by any specification. It wouldn't matter if the session_start function is used, because again the browser doesn't know anything about PHP. What would probably matter is if the browser has anything open to a URL that matches the settings for those cookies. But I don't know if they will immediately delete temporary cookies just when the tabs to those URLs have been closed, or if they wait until the entire application is closed. I assume it's the latter, because vendors probably think that someone might have mistakenly closed a page, and they would expect that if they open the page again then their session is still active. Browser vendors probably think that would make more sense to a user. Yeah, one of the steps in the process is to get the session ID, but that doesn't mean that the session_id function is the only step in the process. The role of the session_id function is only to get or set the current session ID, not get any session data. Other functions do that. Moreover, the programmer does not need to call session_id manually if all they're trying to do is get the session data, all they have to do, again, is call session_start.
  36. 1 point
    Well, my answer is still the same thing. Make sure everything, not just the database connection, is using the same encoding. I've never used that many statements to set MySQL to UTF8, you can do it with "SET names utf8". There's also a mysqli function specifically for that: http://php.net/manual/en/mysqli.set-charset.php Other than the database, make sure that your page is telling the browser that it's UTF8, that it's part of the response headers, and that the text actually is UTF8.
  37. 1 point
    w3-cell-row has additional w3-cell-row:before and w3-cell-row:after which applies content:""; with display: table, this it seems, is causing the difference.
  38. 1 point
    Unless you actually echo out the username, password you won't see these.
  39. 1 point
    Hold on, are you running different versions of that code with only 1 of the console.log statements? If so, I think you're missing the point of having all of those console.log statements. Also, the console.log statement where it prints i should probably go inside that do loop, the point is so that you can use that to see what the calculations are doing. If you have a set with 3 items in it, how many possible subsets can you create? The answer is 8 - 23. If the set has 4 items in it, then there are 16 possible subets - 24. You use Math.pow to get that value from the length of the set. If you don't understand that then work it out on paper.
  40. 1 point
    You have been caught by the same error I made but I was tired, that statement flows on to next line, it end with that second line semi colon; post #4 and #5
  41. 1 point
    I'm talking about the columns in the game table, not the gametag and gameplatform tables. The unique constraint on something like the gametag table should be the gameID and tagID, not an autonumber. The combination of the gameID and tagID is what needs to be unique, you wouldn't want multiple records with the same values for those fields. That's why it should be the primary key, and making it the primary key will also help with searching.
  42. 1 point
    Maybe you didn't do the port fowarding thingy correctly, or maybe your ISP is just blocking incoming traffic on port 80.
  43. 1 point
    Instead of printing your own error message, print the actual error message from MySQL. http://php.net/manual/en/mysqli.error.php
  44. 1 point
    Which IP address? 127.0.0.1 (localhost) or the ip address of network o/s hosting the web site? check out https://stackoverflow.com/questions/9682262/how-do-i-connect-to-this-localhost-from-another-computer-on-the-same-network
  45. 1 point
    You had wrongly referenced a JavaScript function, and wrongly named a css selector so very important position: relative was not applied. <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * {box-sizing:border-box} body {font-family: Verdana,sans-serif;margin:0} .mySlides {display:none; width: 100%;} /* Slideshow container */ .slideshow { /*NOT slideshow-container*/ max-width: 1000px; position: relative; margin: auto; } /* Next & previous buttons */ .prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; padding: 16px; margin-top: -22px; color: white; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; } /* Position the "next button" to the right */ .next { right: 0; border-radius: 3px 0 0 3px; } /* On hover, add a black background color with a little bit see-through */ .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8); } /* Caption text */ .text { color: #f2f2f2; font-size: 15px; padding: 8px 12px; position: absolute; bottom: 8px; width: 100%; text-align: center; } /* Number text (1/3 etc) */ .numbertext { color: #f2f2f2; font-size: 12px; padding: 8px 12px; position: absolute; top: 0; } /* The dots/bullets/indicators */ .dot { cursor:pointer; height: 13px; width: 13px; margin: 0 2px; background-color: #bbb; border-radius: 50%; display: inline-block; transition: background-color 0.6s ease; } .active, .dot:hover { background-color: #f44336; } /* Fading animation */ .fade { -webkit-animation-name: fade; -webkit-animation-duration: 1.5s; animation-name: fade; animation-duration: 1.5s; } @-webkit-keyframes fade { from {opacity: .4} to {opacity: 1} } @keyframes fade { from {opacity: .4} to {opacity: 1} } /* On smaller screens, decrease text size */ @media only screen and (max-width: 300px) { .prev, .next,.text {font-size: 11px} } </style> </head> <body> <div id="wrapper"> <div class="slideshow w3-container w3-half"> <div class="w3-content w3-display-container"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <a class="prev" onclick="plusDivs(-1, 0)">&#10094;</a> <a class="next" onclick="plusDivs(1, 0)">&#10095;</a> <!-- Extra plusDivs parameter refers to first (0) slideshow (start from 0) --> </div> <br> <div style="text-align:center"> <span class="dot" onclick="currentDiv(1, 0)"></span> <span class="dot" onclick="currentDiv(2, 0)"></span> </div> </div> <hr> <div class="slideshow w3-container w3-half"> <div class="w3-content w3-display-container"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <a class="prev" onclick="plusDivs(-1, 1)">&#10094;</a> <a class="next" onclick="plusDivs(1, 1)">&#10095;</a> <!-- Extra plusDivs parameter refers to second (1) slideshow (start from 0) --> </div> <br> <div style="text-align:center"> <span class="dot" onclick="currentDiv(1, 1)"></span> <span class="dot" onclick="currentDiv(2, 1)"></span> </div> </div> <script> var slideIndex = 1; var z = document.getElementsByClassName("slideshow"); for (i = 0; i < z.length; i++) { //set custom data attribute to first current image index z[i].setAttribute("data-currentslide", 1); showDivs(z[i].getAttribute("data-currentslide"), i); } function plusDivs(n, j) { //get custom data attribute value of current image index to slideshow class index j slideIndex = parseInt(z[j].getAttribute("data-currentslide")[0]); showDivs(slideIndex += n, j); } function currentDiv(n, j) { showDivs(slideIndex = n, j); /* showDivs Not showSlides*/ } function showDivs(n, j) { var i; var z = document.getElementsByClassName("slideshow")[j]; var x = z.getElementsByClassName("mySlides"); var dots = z.getElementsByClassName("dot"); if (n > x.length) { slideIndex = 1 } if (n < 1) { slideIndex = x.length; } //set custom data attribute to current image index z.setAttribute("data-currentslide", slideIndex); for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } x[slideIndex - 1].style.display = "block"; dots[slideIndex - 1].className += " active"; } </script> </div> </body> </html>
  46. 1 point
    Its shorthand, but your PHP has to be permitted to allow it through PHP settings file under "short open tag" , else problems will occur.
  47. 1 point
    Yes. <?= ?> is a shortcut for <?php echo ""; ?> All of the above will translate as follows: <?php echo ++$a; ?> <?php echo ++$b; ?> <?php echo $private_id; ?> <?php echo session_id(); ?>
  48. 1 point
    Where in Brazil?
  49. 1 point
    4. "Advanced" debugging techniques for any PHP code (In reality, these things aren't "advanced" as in "difficult to grasp", but they do require some extra setup, hence they're not really "basic" either) 4.1. Use an editor with "syntax highlighting" for PHPJust because PHP can be written with just Notepad doesn't mean that you have to use it. In fact, it's a bad idea to do so, unless of course you have no other choice. There are countless other editors, and if you just search "PHP editor", you'll get a large list of editors, all of which have a feature known as "syntax highlighting". What this means is that the editor will color different parts of your code differently, based on what PHP is expected to interpret that part as. It might sound like just a silly cosmetic, but that's in fact the quickest way of finding syntax/parse errors in your code. For example, if you know that your editor colors strings as one color and loops with another, yet see a loop with the color of a string, you already know that you have a string above the loop that you haven't closed. Vice versa? You probably forgot to close another string above the mis-colored string. No colors? Chances are you're not within a "<?php" block. Unconvinced? This forum has a syntax highlighting feature built in if you use the "code" BBCode tag. It tries to guess the language, and color accordingly. An explicit "<?php" is enough to make it turn on PHP. Next time you have a syntax/parse error, "Preview" your post, where the code is surrounded in a "code" BBCode tag, and see if you can spot your error. While we're on the subject of editors... 4.2. Prefer editors with "code completion" for PHP What "code completion" (sometimes called "auto complete", "Intellisense" or other kinds of marketing nonsense) means is the ability of an editor to suggest possible things you may be trying to type. In addition to saving you time in typing new code, this ability is also useful for debugging - if you can't see a variable/function/class/whatever in the list of suggestions, chances are that you've mistyped it and/or that the editor is smart enough to know that you can't use that thing at that point. There aren't many editors with "code completion" for PHP, due to the fact that PHP is loosely typed and interpreted, which means that more often than not, anything could potentially be everything everywhere (simply put, things become known when you run the file, not while you're typing it), which means that editors need to be a lot smarter, and allow themselves the potential of giving you wrong information (and we don't want that, do we?). If you keep your code organized and in small isolated compositions (functions, classes, methods, etc.), use type hinting everywhere it makes sense, and use "DocBlocks" to document all of your code, you probably won't encounter misleading editor hints. Some editors with "code completion" for PHP include Adobe Dreamwaver CS6 (earlier versions only support it for built-in PHP functions and nothing more, while this version also includes support for PHP classes and your own functions/classes), NetBeans (7.2 also supports traits), PhpStorm, Eclipse PDT and Aptana Studio. 4.3. Install XDebugXDebug is the de facto standard PHP debugger, and for several good reasons too. The more you get used to it, the more its absence on other people's machines will frustrate you . The most "basic" thing that XDebug is worth getting for is that it makes the output for var_dump() colorful (using HTML with CSS styles...), which may sound like just a cosmetic fluff, but if you're var_dump()-ing large arrays or objects, you'll find the output is significantly easier to read. Another, more important feature, is function stack traces. What this means is that if an error occurs, you can see the exact sequence of functions that was called to produce the error, starting with one in the file that execution started at. Combined with a var_dump() of the input data (starting with the last called function, and going back one by one to the first), you can quickly find the point at which your code started to behave weirdly (and thus resulting in the error further on). There are other "fancy" features in it too, such as code coverage, line-by-line debugging and profiling, but for best experience, you need additional tools (e.g. NetBeans , PhpStorm, Eclipse PDT and Aptana Studio support line-by-line debugging after you configure them for it; KCachegrind and Webgrind can view profiling information, etc.).
  50. 1 point
    If you posted here, you might find this intersting:http://w3schools.invisionzone.com/index.php?showtopic=456
×