-
Posts
895 -
Joined
-
Last visited
-
Days Won
1
Everything posted by phppup
-
Ahhhh. Thank you, @kicken I used an alternate CSS solution to get both features working easier and smoother with a new CLASS definition. At this rate, CSS is going to put JS out of business. Thanks for the help.
-
@kicken , I implemented your suggested CSS solution and I like it. It does what I intended and saves me the next step of dealing with reverting the colors onblur. EXCELLENT!! On a related note, after abandoning the specific JavaScript effort and using the CSS solution, I discovered a new conflict. Aside from the DIV changing color on focus/blur, I have a button to make the div a third color. Essentially, highlight on/off when DIV is selected, click button to highlight as a "reminder." (Only one section allowed) The issue that arose is that when a DIV is effected by the JS script it seems to lose the CSS toggle ability afterward. Each effect works okay independently, but together there is conflict. Is there an additional CSS solution. Is there a reason that the JS overrides the CSS? I have tried using the JS to "restore" the DIV, //After script had completed affecting the variable called element //changed the color element.style.background = "blue" //still lost the toggle effect element.tabindex="-1"; but it didn't work. Solution?
-
Yes, @kicken , that's the first thing I did; although I don't use a console, I used alert ("d is " +d); and the script froze at this point with no alert prompt visible. Perhaps I'll try the option you offered. Will it revert to the initial color on blur?
-
A few questions have come up recently. Essentially, I have a webpage with several DIVs and I want the div that is in FOCUS to change color and thereby become highlighted. Additionally, I would want other DiVs to return to their original color (probably white) at the same occurrence. Using ONBLUR seemed "old school", so in the name of progress, I've created my problem. LOL Using this code const divs = document.querySelectorAll('div'); divs.forEach(e => { e.addEventListener('click', (e) => { // remove the class from the others divs.forEach(d => d.classList.remove('active')); // add the class to the current one e.target.classList.add('active'); }); }) with correlating CSS to change the DIV background color has its own issues (as it seems to be working on <h1> and <h2>inside the div, but not the full div itself). Things began to work when I added document.getElementById(e.target.id).style.background = "blue"; to replace the ACTIVE class.. My questions: How can I "see" the variable d value? I've tried lots of alterations and cannot see its value, ID, etc. (Mostly the script FAILS at that point when I try to "see" d.) My assumption is that knowing d will allow me to make further adjustments (to clear the background onblur [thus, a different focus]). Also, I want to clear all DIVs of the highlight with a click on a non-DIV element. Any helpful info or explanations are appreciated.
-
On this site, we do not normally open attachments. In order to post code, use the <> button located in the toolbar. As for your issue, the PHP script will be read by the server when loading the webpage. It is currently doing what you have directed it to do (and has proven that it functions adequately). If you want to change your instructions to not run unless the submit button is clicked, then you have created a new CONDITION that needs to be added to the code. There are several ways to handle this: //let's say this is your button <input type="submit" name="my_submit" value="runPHP"> //Assuming the button is inside a <form method="POST"> tag, you now have several alternatives or combinations to use as conditions <?php if(isset($_POST['my_submit'])){ //code to run if the CONDITION is met hours here } else { //what to do if condition is NOT met echo "Sorry, the button was not clicked"; } //end the condition //OR do this if you want to meet a greater condition if(isset($_POST['my_submit']) && $_POST['my_submit'] == "runPHP"){ //code to run if ALL the CONDITIONs are met } else { //what to do if conditionS are NOT met echo "Sorry, the button was not clicked"; } //end the conditions statement ?> Hope this helps. You can research ISSET and see other examples online.
-
@Barand Ok. I had initially built my form in a similar manner with the values and labels coming from an array (which I expected to eventually generate from a table) anyway. Always confuses me. I know there are advantages to PDO (which I'll likely never be ready for), but I use procedural.
-
@Barand Got a little busy, but as always, your help is greatly appreciated. It always looks so simple when you show the path. And it seems you anticipated my next phase, which would be something along the line of "Choose 3 cities from the checkbox group that you would be most interested in visiting." If I'm understanding your example, I can easily expand the "vote" table to accept more INSERTed data with each form submission (This approach will NOT be inserting zero/null for unselected checkboxes, but without using 3 separate dropdown menus, what is the best/most correct way to format a smooth accumulation of selected itemsto be inserted into the table?) I haven't had the time to test my actual code, but it would seem modifying it to operate in a normalized methodology will be easier than jumbling through my "dog's breakfast of a table" set-up. LOL Also from your reply, you use the character "o" , but I'm not sure I'm following its origin or meaning. Can you clarify or link me to an explanation? Thanks!!
-
I'm trying to workout the logic before writing my code and I've hit a bump. I'm setting up a table to receive votes and want to display the rankings. Example: what's the best party item? Each row will correlate to the person that submitted a vote. The essential columns would be balloons, soda, ribbons, bows. Voting for an item would INSERT a "1" (unless you're of a certain political party. LOL) into a cell. Now, I want to SUM() each column [I think I can do that] and list them in descending order. Can I do this in a statement? Or do I need to put the summed data into an array and then sort the array? What's the best approach?
-
Anybody have any recommendations for a web-hosting provider that will offer PHP, SQL, email, and other assorted features that would be beneficial (like the ability to run CRON jobs, etc.)? @ginerjm I noticed in a recent thread that you cautioned against GoDaddy. Who would you suggest as an alternative?
-
@ginerjm That's good to know, but they come up on top of many searches and you failed to offer any constructive alternative as a recommendation. Should I use nothing at all!!?! @mac_gyver Thanks for the helpful information. Much appreciated. PS: So, if I'm digesting this properly (and I do agree with your methodology) a value should NOT be subjected to htmlentities/htmlspecialchars UNLESS being used within an HTML context. Tinkering with the value, even as a variable going into a database is essentially unnecessary?
-
I need a little clarity, as I have a form with input and want to sanitize the input effectively to avoid attacks and complications. I adapted a W3 example but got unexpected results when I tried to view the results to verify success. $data = trim($data); echo "after trim >".$data."<br>"; $data = stripslashes($data); echo "after strip >".$data."<br>"; $data = htmlspecialchars($data); echo "after char >".htmlspecialchars($data)."<br>"; echo "straight ".htmlspecialchars($data)."<br>"; //different viewable result echo " >".$data."<br><br>"; Is there something going on 'behind the scenes' that I'm not recalling. Please inform and advise for best practices. Thanks.
-
Hey @mac_gyver , I want to thank you tremendously for your responses. After scrolling further in the tutorial that I was using I spotted a section that states EXACTLY what you mentioned above with an added caveat that there is an exception if and it then provides the necessary JavaScript. I'm not sure why there's a difference, but at this point I'm just happy to have working components that suit my needs. Nonetheless, curiosity did have me wondering, would the solution that you provided initially have worked if I had used the "more traditional" AJAX format? And yes, I understand the need for validating and sanitizing form data (but thanks for the reminder) and was more concerned that the alternate method of JavaScripting might (in itself) open a vulnerability.
-
@mac_gyver A follow-up to your solution (which initially failed). The AJAX road has been grimy for me, so this time around, instead of using the usual format of $.ajax({ type: "POST", url: "check.php", data: "email="+ usr, dataType: 'text', success: function(msg){ if(msg == 'OK'){ alert ("success"); // ..... etc. I tried a format from W3 that looks like this function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { // ....blah blah blah I don't really know the difference between the two, but in building my script it seemed to be accomplishing the assigned task. I plugged in the code you provided, and then added some troubleshooting to determine that if(IS_AJAX_REQUEST) was determining a NO response. Ultimately, I modified your code and seem to have success with if($_SERVER["REQUEST_METHOD"] == "POST") { // build and output the response to the AJAX request // typeically json_encode([some meaningful error or success data]); echo "<br>yes AJAX request detected<br>"; die; } else { echo "<br>no AJAX request NOT detected<br>"; // stopped php code execution in affirmative only } Now I have new questions (if you (or anyone else) would be so kind): Is my revision safe to use? Does it create any security issues or functional dilemmas? I can see why my code (built on your assistance) works, but why does the original not detect the AJAX submission as was expected?
-
For simplicity, I've sometimes created a form with <form action="" method="POST"> which had the form self-check its file to run PHP. Now I have a file with a form and I am using AJAX where the URL link is the same file. It didn't work with "" but does with the file name. However, because it is regurgitating the file, a by-product of the process is that the webpage displays the form twice. Is there a fix to stop this under these conditions. Or is an external PHP file the only solution?
-
How to output array instead of a 'loop' echo return from a function?
phppup replied to shamuraq's topic in PHP Coding Help
If I understand correctly, you are only lacking the visual display of the array elements being multiplied. Why not echo them accordingly. Or if you want the actual array positions then maybe adapt something or utilize var_dump. -
I can probably find this answer by implementing the appropriate code, but in the planning stages, I thought i'd ask the more advanced brethren. The plan: a form that includes an HTML textarea where a user can type a message. Upon submission, the form will be processed and the contents of the textarea will be POSTed into an email that will be sent using the PHP function. The question: if a user types (using the keyboard return key) H E L P into the textarea, will it be displayed with new lines within the email? Or will it become a single line string? Are there particular settings that can be made so that the email is a duplicate in the EXACT format of text that is entered into the form?
-
RESOLVED. I couldn't find a CSS solution to having page 1 on the form "fade in" either initially or when coming BACK from page 2. However, I implemented a JavaScript function that is accomplishing the task.
-
I somehow got hooked on a stylish form that was broken into stages that click thru three steps. It uses CSS and hidden checkboxes to activate an effect that has each section transition into a visible opacity (a fade-in effect). I was hoping to use the code as a template, but discovered that the FIRST page (which does not have an associated checkbox in the HTML) does not at any point "fade-in" (it just remains visible). This makes the entire form seem 'clumsy' bc the effect should occur with NEXT or PREVIOUS button clicks. I've included the pertinent code. I'm also not sure of whether or not using CSS is the best route for this. I'm sure JavaScript can do this; is one approach better than the other? Thanks. input[type=checkbox] { position: absolute; opacity: 0; } #part1, #part2, #part3 { z-index: 2; display: block; height: auto; opacity: 1; transition: opacity 1s ease-in-out; } #part2, #part3 { opacity: 0; height: 0; overflow: hidden; } #step2:checked ~ #part2 { opacity: 1; height: auto; } #step2:checked ~ #part1 { opacity: 0; height: 0; display: none; } #step3:checked ~ #part3 { opacity: 1; height: auto; } #step3:checked ~ #part2 { opacity: 0; width: 0; height: 0; }
-
That's a little deeper than I'm currently capable, and I don't really have the time to do the homework.
-
Eureka!! I got it working. I set up a SELECT statement in PHP to echo a table when the script is called. The page never refreshed when using the form in AJAX, but when I refresh the page, it displays all entries made to the form by PHP. I suppose my only lingering question is, within this standard AJAX context jQuery.ajax({ url : "myPHPcode.php", data : 'userName=' + $("#userName").val() + '&userEmail=' + $("#userEmail").val() + '&subject=' + $("#subject").val() + '&content=' + $(content).val(), type : "POST", success : function(data) { ... do stuff where the final action is "success," is there a way to get confirmation of success of the PHP code? In other words, it seems that "success" will blow confetti simply because the JS got that far (regardless of PHP issues), but would it still trigger "success" if the PHP file failed? If the PHP was designed to INSERT into a database, and the connection could not be made (therefore triggering an error in PHP/SQL), can a notification of the failure be given? From what I've experienced, I don't like the one-way street of this Asynchronous method *humor* PS: what is the correct way to change my "data" section to a serialized method? I saw it mentioned, and it seems to offer more flexibility with less keystrokes, but I haven't been able to implement it. Thanks to everyone for helping.
-
Changed the PHP to if(isset($_POST['userName'])){ echo "success"; } else { echo "failed"; } but still no obvious response.
-
I suppose I'm used to having the webpage reload/advance when a submit button is clicked. I'm a bit lost in how my PHP is accessed when the data is submitted. My "nerve center" of AJAX is jQuery.ajax({ url : "myPHPcode.php", data : 'userName=' + $("#userName").val() + '&userEmail=' + $("#userEmail").val() + '&subject=' + $("#subject").val() + '&content=' + $(content).val(), type : "POST", success : function(data) { ... do stuff Is anything missing? Does it call the PHP file every time the submit button active (with all field valid)? Since the page doesn't reload, I'm not able to receive a PHP coded response. My PHP if(isset($_POST['submit'])){ echo "success"; } else { echo "failed"; } failed on load and never changes.
-
@requinix A confirmation (that will be removed from the script) that tells me that everything in development is working as expected to this this point. An assurance that if a problem occurs, I can essentially eliminate troubleshooting back to the form bc I'll have confirmed that the data is being sent and therefore development can move forward with confidence. Then, if, for instance, a table isn't being populated, I can limit my review to the PHP and SQL for bugs.
-
I am trying to use a form that I found online. It is AMAZINGLY stylish (LOL) and presumably uses an AJAX implementation to integrate its jQuery features. Now that I've finally gotten most of the features to meet my liking, I want to confirm the transfer of data upon submitting. I read through the previous post jquery / javascript function return by Digger and realize the asynchronous impossibility of the task. So am I forced to go on faith now? Is there no way to confirm (from a PHP standpoint) that the data is being sent? Is the only way of verifying my progress to create and insert into a table, and then select the data for a viable confirmation? I was expecting to just run a var_dump to confirm.
-
Thanks for the info, but I may have gotten a better handle on this (versus my unconventional description of the effect I'm trying to duplicate). It seems that the CSS collapse effect make be more in line with my goal. I'm going to compare the different sample codes for slide, collapse, and JavaScript to find a solution that gives me a form that kinda unravels down/up over the existing page text via a toggle click.