Jump to content
Stef's Coding Community

falkencreative

Advanced Member
  • Content Count

    4,419
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by falkencreative

  1. I've built sites using Divi and other such builders, and it is possible to customize sites built on those platforms. Depending on your needs, you'll likely find that you will need to make styling or layout adjustments. No site builder is perfect and you likely won't find something that matches 100% with what you want to do. Most site builders have specific APIs or expectations for how changes are made. At least in my experience, even if you use a site builder plugin, it's rare that you won't have to code anything at all. The downside with site builders is that they often try to do too much -- they try to be the solution to every possible problem, and it results in sites that are over-engineered and slow to download. You'll potentially wind up with a site that only uses 20% of the theme builder's functionality, but 100% of all the downsides. I generally prefer to custom build my sites, using the Advanced Custom Fields plugin to provide the editing interface for the various content blocks that make up the site. In general, you won't be able to export out the code that these Wordpress-based site builders generate -- they rely on Wordpress and Wordpress' editing interface in order to work. I suppose you could manually download each page as HTML and piece the file structure together, but that's a significant amount of work and you'll lose the ability to easily edit the content or change functionality.
  2. Looks like the issue is primarily due to the fixed height on .header. The set height doesn't allow that section to re-flow into multiple lines. Removing the fixed height would be the first step to fixing it, though you'll need to do some styling adjustments on the header as well, such as removing the left margin on the .header h2. Personally, I'd consider restyling the .header section completely, removing the background image, removing the fixed header height, and making it a normal <img> element with floated text. The background image and the left margin on the header text is the primary issue that is preventing proper mobile display.
  3. What is currently happening, and what do you want to happen?
  4. If all the data you are displaying is the same for both desktop and mobile devices, I would focus on using both the built in Bootstrap options and potentially custom media queries to adjust the layout to fit the device and hide/show elements as necessary. If the data needs to be different for different devices, sounds like the only way would be to build the PHP differently to avoid those errors. That particular error means that you have two functions that are named the same, so either you need to rename it, or if it's common functionality shared by both includes, you can keep one and you don't need the duplicate. Duplicated variables won't necessarily cause errors -- depends on the variable scope. For quick and dirty mobile testing, assuming of course that you are using media queries, you should be able to simply resize your browser to get a feel for how the layout changes at different device widths. It's not perfect -- ideally, you'd have a smart phone to test on -- but it isn't like you are completely without options for testing.
  5. You won't be able to switch an include based on the screen resolution. You can include multiple sizes all at once when the page is first loaded, and then use media queries to hide/show the correct content at different sizes. You can also assign a column multiple widths at different screen sizes. For example, since the grid is 12 columns, you could have a section that is 2 columns wide on large devices (".col-lrg-2") but 4 columns on medium devices (".col-md-4"). So that would look like this: <div class="col-lg-2 col-md-4">Column content...</div>
  6. Media queries are pieces of code you put in your CSS file that tell the browser which CSS to use for which screen sizes.
  7. I had to deal with a couple sites like this recently. Start by uploading fresh, safe Wordpress files, overwriting anything that's there (just the core Wordpress files though, and don't overwrite your wp-content directory). After, double check for suspicious code in all your theme files or in the wp-config file. It will be PHP, but it will most likely look like a block of gibberish (so you can't easily search for the text). Then, download/install https://wordpress.org/plugins/exploit-scanner/and the free version of https://wordpress.org/plugins/sucuri-scanner/, run their scans, and see if you catch anything else. In many cases, an exploit will randomly duplicate itself within your wp-content directory, those files need to be looked at too.
  8. Yes, that is responsive web design. You can see Google's comments on that topic here: http://searchengineland.com/google-finally-takes-a-clear-stance-on-mobile-seo-practices-123543. They don't explicitly say yes/no whether RWD will boost your rankings, but they do say that it helps make it easier for your users and makes it easier for Google to properly index your content (versus different versions of your site for different devices, for example.) The primary tool for RWD is media queries -- they allow you to specify different CSS for different screen sizes. The underlying HTML will stay the same, but you can use media queries to adjust the layout and sizing of the elements, or hide/show elements as appropriate.
  9. See http://www.w3schools.com/css/css_table.asp http://css-tricks.com/complete-guide-table-element/
  10. When the user submits the form, you'd want to store the data from the textarea, and then insert it back into the textarea when you re-show the form with the error message. Take a look at this tutorial: http://www.w3schools.com/php/php_forms.asp, clicking right through the chapters on making form fields required and validating the data. Specifically look at the "Keep the values in the form" section of http://www.w3schools.com/php/php_form_complete.asp.
  11. Well, the code you posted above only works for using integers, not "yes" or "no". What does your code that doesn't work look like? What doesn't work about it? What error(s) are you getting?
  12. Sure, I suppose you could do that, but it seems very inefficient to me. I'd create tables by grouping related data, so perhaps it makes sense to split the data if the content has different purposes, but if it's all contact information about a person, I think that belongs in the same table. I wouldn't worry about too many rows on a table (rows are horizontal, each representing a record in the database), but I would worry about a huge table with a large number of unrelated columns (vertical) I wouldn't worry too much about security on information like names, addresses and phone numbers -- that information is likely publicly available anyway if someone were to search for it. If someone gets access to the database, splitting up that data into multiple tables won't really be any other than a minor annoyance.
  13. What does the code for your textarea look like? Do you have spaces between <textarea> and the closing </textarea> ?
  14. See http://www.html-form-guide.com/php-form/php-form-checkbox.html. If you want to use "yes" and "no" instead, you'll need to use "yes" for the value of the checkbox, check that $Active is "yes" rather than 1, and not convert the post data to an int (by removing the "(int)" in your code).
  15. Take a look at the first example here: http://php.net/manual/en/mysqli-result.num-rows.php
  16. I don't have a huge amount of experience with PDO... but the place to start with is checking your work against the documentation: http://php.net/manual/en/pdostatement.bindvalue.php You should also check http://php.net/manual/en/pdostatement.rowcount.php: "For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action." See example #2 in the link for a sample. I would also suggest that you be checking for exact matches, not "like", because you might accidentally match something that shouldn't be matched. For example, if someone enters "password" as their password, you don't want the query to also match for "password1" and "1password2" (which I believe currently happens, due to the "%" before and after your variables. You'd what to use "=" instead.
  17. Just a quick response... looking at the source code of the page, down in the bottom in the script is this line: bobexample.setStatus('<img src="http://img242.imageshack.us/img242/5553/opencq8.png" /> ', '<img src="http://img167.imageshack.us/img167/7718/closedy2.png" /> ') That's the line that adds the image. Personally, I don't think this is a hack or a hijacked site at all... I think this is more likely a link to some sort of arrow image, which (due to the age of the script -- looks like it's from 2007 or so) is no longer available. Rather than displaying some sort of 404 message, ImageShack is replacing that missing image with its own image, as a way of promoting itself. The fix for this is likely either to remove the line above, or to change the src's to your own open/closed images.
  18. The easiest solution would be to show the dropdown -- same as you would in the "create new" page -- but have the default selected state be whatever that field is set to. That's pretty straight-forward. You'd want to create the dropdown in the same way that you created the dropdown on the create new page, but for every option you create in your dropdown, you check to see if the value of that option matches the selected option, and if so, give that the "selected" attribute. http://www.w3schools.com/tags/att_option_selected.asp So, something like this... <select name="selectname"> <option value="optionvalue" <?php if($selectedname == 'optionvalue') { echo 'selected'; } ?>>Option Name</option> </select> So in this case, you'd need to change the "selectname" to whatever you've named the select, and any values/names as appropriate. $selectedname is whatever value the user had selected for that field when they originally created the record.
  19. falkencreative

    Php Link

    What data does "$row[5]" contain? One way or another, you need a link that opens up a new tab: <a href="your-link.html" target="_blank">Link Text</a> If $row[5] contains a website URL, for example, "http://google.com", you would do something like this: echo '<td><a href="' . $row[5] . '" target="_blank">' . $row[5] . '</a></td>'; which would result in: <a href="http://google.com" target="_blank">http://google.com</a>
  20. Assuming I'm understanding you correctly... So you have a single dropdown field that the user can select from. And you want to save their selected value in the database? In that case, you'd name the dropdown using the name attribute (which in your code above you named "dropdown"), you'd have the user submit the form, you'd retrieve the dropdown value using $_POST['dropdown'], and you'd use that value when creating an SQL query that would save it in the database using an SQL insert statement. I guess I'm just not sure what part of that process you are confused about? It works exactly the same way as using a regular text input and saving that value to a database. If your existing PHP script which processes the form and saves the values to the database is expecting to get that data from a field named msdstype, you'd just want to name your select "msdstype" rather than "dropdown", and everything else should work fine.
  21. So, just so I understand the process... You have two fields -- one dropdown, and one text field? And when a user selects from the dropdown, you want the value from the dropdown to automatically be added to the text field? I'm assuming you need that text field because the user may be editing the content? You'd need to do that with Javascript. -- In pure Javascript, you'd want to use the onChange event (http://www.w3schools.com/jsref/event_onchange.asp), which would get the value from the dropdown (http://www.w3schools.com/jsref/met_doc_getelementbyid.asp) and set the value of the text field (http://stackoverflow.com/questions/4541855/how-do-i-set-value-of-a-textbox-using-javascript) -- If you're using jQuery, it would be similar, using change() (http://api.jquery.com/change/) to check when the value of the dropdown changes, find the value (http://learn.jquery.com/using-jquery-core/faq/how-do-i-get-the-text-value-of-a-selected-option/) and set the value of the text field (also using val() http://api.jquery.com/val/)
  22. The first step would be to remove the older jquery link -- you really shouldn't be running two copies of jQuery on the same site. I imagine that both scripts should work fine on the Google jquery link, though I can't say that for sure unless it was properly tested.
  23. This link has all the info on creating a library, including the basic template for a library file, loading the library (you can either use load->library(), or you probably want to consider autoloading it), and calling a method within the library: https://ellislab.com/codeigniter/user-guide/general/creating_libraries.html Basically, you just need to create a "load" method that will accept the view parameter. For example: public function load($view) { } Inside that method, you determine whether or not the user is an admin user, and then load the appropriate views. So you'd call it something like this: $this->Template->load('containt/home'); and then within the method, it would check if you are an admin user, and load all the appropriate views for either situation. This way, you reduce repetition and have one central location that controls what header/footer views are displayed. In your controllers, you'd just need one Template->load line, rather than multiple $this->load->view.
  24. Perhaps you want something like Wordpress and the https://wordpress.org/plugins/mangapress/ plugin? Or do a search for "wordpress comic plugin" and I'm sure you'll find some options.
×
×
  • Create New...