Jump to content
Killersites Community

Leaderboard


Popular Content

Showing content with the highest reputation since 12/28/2010 in Posts

  1. 3 points
    Greetings, everyone! I've never interacted with the community surrounding Stefan's work, but when I heard a new forum had been developed I thought it would be a great time to get involved! A little bit about myself: My name is Logan. I'm a 24 year old from Hot Springs, Arkansas; a small town in the southern region of the US. Right now I'm working in marketing and sales for local business, but I'm obsessed with business and innovation. Creating real value for people is what gets me out of bed every morning! Although I've taken some of Stef's courses and self-learned a bit of programming, I am no authority on the subject. I feel like I know just enough to understand how everything works. However, I find topics of modern tech implementation pretty exciting and I look forward to listening what everyone has to share. If I'm not a programming wiz, what the heck and I doing here? I'm not sure yet! Haha. I'd like to see how the forum evolves as the community grows. It would be fun to riff about business, finance, or anything else that may spark an interest. I think this will be a neat place to learn and share information! Chao!
  2. 2 points
    Hello All, It would be great to see who's kicking around the forums and get some introductions going. Seems like a good way to get things rolling Starting with myself... I'm Tyler. I'm in Vancouver BC Canada and I'm currently working as a freelance web designer and marketer, mostly with local businesses. Everything I have learned so far has been on a need to nerd basis (as Stef would say). I still have a lot to learn, but I get by ok. On any given day I might be working on web development, design, seo, ppc campaigns, content marketing, or anything really. I love it all, but have considered whether or not I should be more narrowly focused. We'll see! I also do some affiliate marketing and have built and flipped a few sites of my own. I stumbled onto Stef's youtube a few months ago and became an instant fan, some of his vlogs on business, contracts, and clients have been very helpful. So when he announced that he was re-launching the forum, I was like: I have a feeling this will be a great community. With that said, who else is out there? Introduce yourself...
  3. 2 points
    I have not looked at Studio Web for Python... but yea, Stef does good work. I checked it out when he first started it. Besides all languages are common, so knowing one will help learning others as you see the common elements.
  4. 2 points
    Hi! Here is your roadmap to Wordpress freelance work: Do the StudioWeb core language training: HTML, CSS, JavaScript, PHP, SQL Do the Wordpress Themes course in the projects Do the CRUDE project course as well Start learning the Wordpress ecosystem ... know what the options are for the top themes, plugins, e-commerce options. My Business Battleplan course will help with the freelance/business end of things. You will be good to go. I assume you know the basics of Wordpress. Stef
  5. 2 points
    One of the frustrations with learning programming is that you absolutely have to be in front of the computer. Audio is a great way to learn while driving, walking/running, doing the dishes etc. Really frees up the slots of time which you can use to keep learning!
  6. 2 points
    Hi, So I have yet to apply a skin and tweak the settings. But, the new software is in place.
  7. 1 point
    Check out our new Interactive Web Developer course (created in 2016) that covers this, and much more: shop.killervideostore.com This is a revised version of my previous tutorial (http://www.killersites.com/community/index.php?/topic/1969-basic-php-system-vieweditdeleteadd-records/) which uses MySQLi rather than regular MySQL to connect to the database. MySQLi, often called MySQL Improved, has several advantages over regular MySQL, including support for prepared statements (which helps prevent SQL injection, a common security issue) and object-oriented code. I've also provided a modified view.php file that shows one way to do basic pagination. I have also recorded a 8 part video tutorial (a bit over an an hour worth of video) showing how to build this system and explaining it as I go. It's available in the KillerSites University (http://www.webmentor.org - subscription required) under PHP > PHP CRUD Videos. --- (Anyone with PHP knowledge is welcome to comment on the code. If there are issues I haven't noticed, please let me know. Do realize that it is intended for beginners, so I didn't want to do anything too advanced that might lead to confusion. Yes, I realize I could use OOP, or could separate some of these out into methods, etc. etc.) OK... Here's some code for you to play with. It's a basic system that allows you to: -- view existing records -- edit existing records -- delete existing records -- add new records Online demo: http://www.falkencreative.com/forum/records-mysqli/view.php Basically, just imagine that you are in charge of a sports team, and you want to keep a list of all your player's contact information. The code I've created could be a starting point for that (it only includes fields for their first name/last name, but could obviously could be expanded to use more fields). This is just a basic starting point for projects that require view/edit/delete functionality. I know it may seem a lot to understand at first, but read all the comments in the code -- I try to explain what I am doing step by step. I'm also happy to help with any questions (please post questions in a new topic.) How to create a system that allows a user to add/edit/remove data in a database seems to be a commonly asked topic, so I may adapt this into an actual tutorial at some point in the future. DATABASE: -- You'll need to create a database (I named mine 'records' but it can be changed) using PHPMyAdmin -- Save the included sql file on your desktop as a .txt file -- Once you've created the database, make sure the database is selected, then click the "import" tab -- Select the .txt file on your desktop, and import it into your database. PHPMyAdmin will create all of the necessary tables/import some test data for you to play with SQL file: -- -- Table structure for table `players` -- CREATE TABLE `players` ( `id` int(11) NOT NULL auto_increment, `firstname` varchar(32) NOT NULL, `lastname` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; -- -- Dumping data for table `players` -- INSERT INTO `players` VALUES(1, 'Bob', 'Baker'); INSERT INTO `players` VALUES(2, 'Tim', 'Thomas'); INSERT INTO `players` VALUES(3, 'Rachel', 'Roberts'); INSERT INTO `players` VALUES(4, 'Sam', 'Smith'); Save these php files all in the same folder in a place where you can run them using your server (I'm assuming you are using something like WAMP for the server? I'm not sure if Dreamweaver includes something like that by default.) connect-db.php <?php // server info $server = 'localhost'; $user = 'root'; $pass = 'root'; $db = 'records2'; // connect to the database $mysqli = new mysqli($server, $user, $pass, $db); // show errors (remove this line if on a live site) mysqli_report(MYSQLI_REPORT_ERROR); ?> view.php (non-paginated -- will just display one long list of members) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>View Records</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h1>View Records</h1> <p><b>View All</b> | <a href="view-paginated.php">View Paginated</a></p> <?php // connect to the database include('connect-db.php'); // get the records from the database if ($result = $mysqli->query("SELECT * FROM players ORDER BY id")) { // display records if there are records to display if ($result->num_rows > 0) { // display records in a table echo "<table border='1' cellpadding='10'>"; // set table headers echo "<tr><th>ID</th><th>First Name</th><th>Last Name</th><th></th><th></th></tr>"; while ($row = $result->fetch_object()) { // set up a row for each record echo "<tr>"; echo "<td>" . $row->id . "</td>"; echo "<td>" . $row->firstname . "</td>"; echo "<td>" . $row->lastname . "</td>"; echo "<td><a href='records.php?id=" . $row->id . "'>Edit</a></td>"; echo "<td><a href='delete.php?id=" . $row->id . "'>Delete</a></td>"; echo "</tr>"; } echo "</table>"; } // if there are no records in the database, display an alert message else { echo "No results to display!"; } } // show an error if there is an issue with the database query else { echo "Error: " . $mysqli->error; } // close database connection $mysqli->close(); ?> <a href="records.php">Add New Record</a> </body> </html> view-paginated.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>View Records</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h1>View Records</h1> <?php // connect to the database include('connect-db.php'); // number of results to show per page $per_page = 3; // figure out the total pages in the database if ($result = $mysqli->query("SELECT * FROM players ORDER BY id")) { if ($result->num_rows != 0) { $total_results = $result->num_rows; // ceil() returns the next highest integer value by rounding up value if necessary $total_pages = ceil($total_results / $per_page); // check if the 'page' variable is set in the URL (ex: view-paginated.php?page=1) if (isset($_GET['page']) && is_numeric($_GET['page'])) { $show_page = $_GET['page']; // make sure the $show_page value is valid if ($show_page > 0 && $show_page <= $total_pages) { $start = ($show_page -1) * $per_page; $end = $start + $per_page; } else { // error - show first set of results $start = 0; $end = $per_page; } } else { // if page isn't set, show first set of results $start = 0; $end = $per_page; } // display pagination echo "<p><a href='view.php'>View All</a> | <b>View Page:</b> "; for ($i = 1; $i <= $total_pages; $i++) { if (isset($_GET['page']) && $_GET['page'] == $i) { echo $i . " "; } else { echo "<a href='view-paginated.php?page=$i'>$i</a> "; } } echo "</p>"; // display data in table echo "<table border='1' cellpadding='10'>"; echo "<tr> <th>ID</th> <th>First Name</th> <th>Last Name</th> <th></th> <th></th></tr>"; // loop through results of database query, displaying them in the table for ($i = $start; $i < $end; $i++) { // make sure that PHP doesn't try to show results that don't exist if ($i == $total_results) { break; } // find specific row $result->data_seek($i); $row = $result->fetch_row(); // echo out the contents of each row into a table echo "<tr>"; echo '<td>' . $row[0] . '</td>'; echo '<td>' . $row[1] . '</td>'; echo '<td>' . $row[2] . '</td>'; echo '<td><a href="records.php?id=' . $row[0] . '">Edit</a></td>'; echo '<td><a href="delete.php?id=' . $row[0] . '">Delete</a></td>'; echo "</tr>"; } // close table> echo "</table>"; } else { echo "No results to display!"; } } // error with the query else { echo "Error: " . $mysqli->error; } // close database connection $mysqli->close(); ?> <a href="records.php">Add New Record</a> </body> </html> </html> records.php (create a new record/edit existing records) <?php /* Allows the user to both create new records and edit existing records */ // connect to the database include("connect-db.php"); // creates the new/edit record form // since this form is used multiple times in this file, I have made it a function that is easily reusable function renderForm($first = '', $last ='', $error = '', $id = '') { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title> <?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h1><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1> <?php if ($error != '') { echo "<div style='padding:4px; border:1px solid red; color:red'>" . $error . "</div>"; } ?> <form action="" method="post"> <div> <?php if ($id != '') { ?> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <p>ID: <?php echo $id; ?></p> <?php } ?> <strong>First Name: *</strong> <input type="text" name="firstname" value="<?php echo $first; ?>"/><br/> <strong>Last Name: *</strong> <input type="text" name="lastname" value="<?php echo $last; ?>"/> <p>* required</p> <input type="submit" name="submit" value="Submit" /> </div> </form> </body> </html> <?php } /* EDIT RECORD */ // if the 'id' variable is set in the URL, we know that we need to edit a record if (isset($_GET['id'])) { // if the form's submit button is clicked, we need to process the form if (isset($_POST['submit'])) { // make sure the 'id' in the URL is valid if (is_numeric($_POST['id'])) { // get variables from the URL/form $id = $_POST['id']; $firstname = htmlentities($_POST['firstname'], ENT_QUOTES); $lastname = htmlentities($_POST['lastname'], ENT_QUOTES); // check that firstname and lastname are both not empty if ($firstname == '' || $lastname == '') { // if they are empty, show an error message and display the form $error = 'ERROR: Please fill in all required fields!'; renderForm($firstname, $lastname, $error, $id); } else { // if everything is fine, update the record in the database if ($stmt = $mysqli->prepare("UPDATE players SET firstname = ?, lastname = ? WHERE id=?")) { $stmt->bind_param("ssi", $firstname, $lastname, $id); $stmt->execute(); $stmt->close(); } // show an error message if the query has an error else { echo "ERROR: could not prepare SQL statement."; } // redirect the user once the form is updated header("Location: view.php"); } } // if the 'id' variable is not valid, show an error message else { echo "Error!"; } } // if the form hasn't been submitted yet, get the info from the database and show the form else { // make sure the 'id' value is valid if (is_numeric($_GET['id']) && $_GET['id'] > 0) { // get 'id' from URL $id = $_GET['id']; // get the recod from the database if($stmt = $mysqli->prepare("SELECT * FROM players WHERE id=?")) { $stmt->bind_param("i", $id); $stmt->execute(); $stmt->bind_result($id, $firstname, $lastname); $stmt->fetch(); // show the form renderForm($firstname, $lastname, NULL, $id); $stmt->close(); } // show an error if the query has an error else { echo "Error: could not prepare SQL statement"; } } // if the 'id' value is not valid, redirect the user back to the view.php page else { header("Location: view.php"); } } } /* NEW RECORD */ // if the 'id' variable is not set in the URL, we must be creating a new record else { // if the form's submit button is clicked, we need to process the form if (isset($_POST['submit'])) { // get the form data $firstname = htmlentities($_POST['firstname'], ENT_QUOTES); $lastname = htmlentities($_POST['lastname'], ENT_QUOTES); // check that firstname and lastname are both not empty if ($firstname == '' || $lastname == '') { // if they are empty, show an error message and display the form $error = 'ERROR: Please fill in all required fields!'; renderForm($firstname, $lastname, $error); } else { // insert the new record into the database if ($stmt = $mysqli->prepare("INSERT players (firstname, lastname) VALUES (?, ?)")) { $stmt->bind_param("ss", $firstname, $lastname); $stmt->execute(); $stmt->close(); } // show an error if the query has an error else { echo "ERROR: Could not prepare SQL statement."; } // redirec the user header("Location: view.php"); } } // if the form hasn't been submitted yet, show the form else { renderForm(); } } // close the mysqli connection $mysqli->close(); ?> delete.php <?php // connect to the database include('connect-db.php'); // confirm that the 'id' variable has been set if (isset($_GET['id']) && is_numeric($_GET['id'])) { // get the 'id' variable from the URL $id = $_GET['id']; // delete record from database if ($stmt = $mysqli->prepare("DELETE FROM players WHERE id = ? LIMIT 1")) { $stmt->bind_param("i",$id); $stmt->execute(); $stmt->close(); } else { echo "ERROR: could not prepare SQL statement."; } $mysqli->close(); // redirect user after delete is successful header("Location: view.php"); } else // if the 'id' variable isn't set, redirect the user { header("Location: view.php"); } ?>
  8. 1 point
    Just an article that I thought some of you may find useful speeding up your wi-fi networks. 5 things that will slow your Wi-Fi network by NetworkWorls Magazine https://www.networkworld.com/article/3256026/lan-wan/5-things-that-will-slow-your-wi-fi-network.html
  9. 1 point
    Web Developers, much of my posting to date has covered protecting yourself. Lets talk about protecting your customer and their users. I cannot state this any stronger, Strong Passwords! If it takes little effort to break a password than the site you built can be hi-jacked to pass out malware. Database design, consider making it a tiered design. Sensitive data in a red zone, encrypted and password protected with strict access permissions. Less sensitive data in a Yellow zone that has lesser protection and more access and simple stuff in a green zone with just password protection and general permissions. If you use look-up tables that state that "2 = married with children", that is a look-up table and needs liuttle protection. But all sensitive data should be encrypted so that if adversaries do get to it... they can't read it. Be aware of SQL Injection attacks. If you allow data to be added to a website, make sure it is checked. If you allow basic comments with no security, an adversary could insert JavaScript into that comment that does really bad things. Malware Detection - Discovering Cross-Site Scripting Attacks Watering Hole Attacks. I think LastLine blog defined it rather well: "In a network watering hole attack, cybercriminals set traps in websites that their target victims are known to frequent. Often the booby-trapped websites are smaller, niche sites that tend to have limited security. These sites can include business partner sites or small websites that provide specific products, services, or information to the target company or industry. When visited, the compromised website infects the target end-users computer or device with keyloggers, ransomware, and other types of malware." The issue here is really about protecting web sites you build from being the water holes that infects your customers users. Network Security and Watering Hole Attacks As I come across tips for securing your web sites, I will expand this thread.
  10. 1 point
    Great coding! When/if you do another revision, here is the project I made that uses Ajax instead of a hidden form and uses id's for each row in the html instead of an href link. Lastly, my version allows selecting of multiple users in database for deletion, however, it doesn't have any way to edit any of them. Also, I'm not as cool as you and I used procedural php instead of object oriented, like yours. I'm pretty new to web programming (I'm stronger in c++, java etc.) so just know that this is just for experimentation and NOT securely sound enough to use on a live server, fyi. Enjoy! https://github.com/dougpurinton/database_example
  11. 1 point
    Do you mean the CSS width property? Check out my CSS course where I get into CSS layout, I go into detail how the horizontal space an element takes is affected by margins, padding and borders. That said, with CSS Grid and flexbox, this becomes a non issue but for older browsers, you still need to understand this. Makes sense?
  12. 1 point
    Hi, Send me an email and I will arrange to get you the quizzing. Stef
  13. 1 point
    Maybe this isn't what your looking for, but this is a list for free online books on computer science (via github). https://github.com/EbookFoundation/free-programming-books
  14. 1 point
    Hi! Yes. I just found out I said that I covered tkinter before! ... I clearly didn't. I must have been thinking of turtle. Please just move forward with the lessons. If you have any specific questions, just ask! Thanks! Stef
  15. 1 point
    Hi, Just send me a personal message or email me, I will send you credentials to the StudioWeb Python course. Stef
  16. 1 point
    I know to code in PHP and JS but I am feeling that I dont know that really good, that I have missed some stuff and I want to review it. I tried JS on my own (with books) didnt work out. Tried one course, taught me just a partially JS, but still I valued that knowlege that I learned from that. Then I said I want to go to school where they teach you Web Programming in a year, because I want someone to teach me. Its a good thing, but still didnt feel I learned all, I think they use lots of terminology words and its not that simplified and I am kinda a guy who likes to learn step by step. Then out of nowhere on YouTube I find you, and thats how all started. I like the way lectures are made and they are simple to understand. Also like the way of teaching. You teach like I would do (when you were talking about what HTML is I said in myself "If I ever teach someone to code I would tell them that HTML is like bricks on the house" and then you say the same I know we are sharing the same name but we got lot of similarities, maybe you are my long lost brother haha ) With your teachings I finally put the puzzles I was missing in their place. I mean I've learned web foundation, and many more things from you where others didnt taught me, and that help me realize so much in coding. I just finished JS functions, and even I learned that before, I feel that I know more than before and that my knowledge of JS is better. And of course better understanding of programming and all. I am simply telling you all of this just you to know that you are a great teacher. Thats why I asked in what order should I learn your courses because in PHP course you said that you wont have to say what functions are cuz you explained them in JS course, and I want to hear your explanation for that (I know, little weird, but I want to master the basics, after that everything else is easier). Stefan P.S.(I have enormous urge to select answers like "Dogs wrote HTML" , "Stef is trying to mess us again" , "Fries are good for you", dont know why )
  17. 1 point
    Thank you for the reply Stefan. Looking at the question it just asks to provide the code to make it link to an external web URL. So I suppose the target attribute wasn't needed. Dave
  18. 1 point
    Web Designer is rather just the default standardized accepted term. Personally I always preferred "Web Developer". Web Designer was traditionally a matter of "Look & Feel" and structure. Put these days, and back 10 years, it began including some programming, now more programming, Content Management systems, multi-platform, sometimes Logos and branding, administration, even data base work in some cases. Lastly, my two soapbox areas, web accessibility and cyber security. We owe it to our customers to ensure all their customers and their own data etc. is both safe from attack and accessible to those with any number of disabilities. Web design was back when a designer designed a web site and passed it to a coder to "Make it so Number One". But for freelancers and now most big organizations that is not the case, the name just hung around like Internet Explorer. Web Developer is a better term I think, we are developing it from scratch.
  19. 1 point
    You need a variable to store the total of the non-six rolls and a loop so that it repeats until a 6 is rolled. I don't know python, so this is somewhat pseudocode - based on the code above... total = 0 roll = 0 while ( roll != 6 ): roll = random.randint(1, 6) total = total + roll print("You rolled a ", roll, " Your total score is: ", total) print("You rolled a 6, game over") Edit: My indentation is wrong ( I think Python cares about that stuff ) so copy / pasting my code probably won't work !
  20. 1 point
    We get a lot of questions about learning, but part of getting a job is also experience. Volunteering is not just a way to get experience but also built up a body of work and employers do tend to like people who volunteer. So how can I get experience? What are you thinking with volunteering? 1. Teaching: This will depend on your experience and area. In Germany I helped Youth Club staff build good web sites. Here in Juneau I did a seminar for local businesses. Here at Killersites I have learned things or made “mental connections” as I have tried to teach or help many of you with your issues. Often when helping others you realize other ways of doing things that you never considered before, you learn things answering other’s questions. Maybe teach a local high school computer club good web design. 2. Free web work: Like many others I did web work for some non-profit sites. I did the work for free, so they got a cheap web site and I had a web site to show besides my own and a professional reference for my application. Look around at charities, churches, and other non-profit entities online or your area. 3. Volunteering: Naturally any place you volunteer will aid you. I will stick with IT work here though. Even if it is not web design, you have more computer experience than most average folks to you can be of great help just doing basic IT stuff. You will also learn new skills and experience other IT areas you like more. I started in web design, then went to programming and am now my divisions cyber security person. So, do not fear volunteering for “other” IT work. A. Red Cross/Crescent – The Red Cross works differently is different countries, so I can only speak to the American Red Cross (ARC), but my guess is that the Canadian Red Cross, Deutsches Rotes Kreuz e.V., etc. will have the same needs, just other terms. i. Disaster Services Technology (DST): The ARC is going digital more each year, many of the tools they use are online. Every time ARC volunteers deploy to a disaster, some of the first ones in are DST, and there are never enough DST volunteers. So, as long as volunteers are in the field at disasters, so are their technical support. Computers: There is a sub-team that handles passing out, setting up, managing and maintaining and collecting computers. Also support for the apps used. Networking: A sub-team that specifically deals with networking, connectivity, and Servers. Big disasters like this fall will have field servers deployed, many communications may be down, so we set up satellite internet connections. We use wired and WiFi connections, routers, switches and set up printers. Communications: This sub-team passes out and supports smart phones, tablets, handheld and mobile radios, radio base stations, antennas etc. Customer support: This is basically the help desk folks who help the users. [NOTE: these are the four official jobs in DST, but the disaster decides the actual build. You may find yourself doing multiple jobs if the disaster is not as big or there are not enough volunteers. DST from hurricane Harvey is still in the field from all over the country, and it is usually a two week deployment, so they constantly need people, so there may not be enough. I am the only DST member for all of SE Alaska] ii. IT End User Services (IT EUS) – Another ARC group to consider for those times between disasters. This is really just the IT shop for the ARC broken into regions. I am currently going through the process. As an EUS volunteer I will be dealing with maintenance and troubleshooting of ARC computers in my area, helping other volunteer and staff with their computer problems, running updates etc. Again, I am the only EUS person for SE Alaska, the nearest are almost 6 miles away in Anchorage. iii. There are many other volunteer jobs for logistics, shelter workers etc. with any of the Red Cross/Crescents as well both day to day and disaster situations. B. CyberPatriot – CyberPatriot is a national youth cyber education program run each year by the Air Force Association (AFA) and partners. The AFA sees the lack of cyber security trained people on the US workforce to be a National Security Issue. They want to get more youth interested in STEM and computer jobs and increase the number of women in the IT sector. You can volunteer as an assistant coach for teams in your area, or you can contact schools or organizations in the area to coach your own teams. This competition is not just for the geeks, it is built for people, teens or coaches with no idea about computers and or cyber security to be able to comete as the whole idea is to get kids not interested in computers to reconsider. It is a two-part program. i. The education part entails teaching youth to use the internet in a safe manner. They support schools or others running cyber safety summer camps and such activities. ii. Part two is the CyberPatriot Cyber Defense Competition where teams from across the US (I think Canada too) made up of teenagers, compete nationally for the best score finding vulnerabilities and securing a server system. Teams can be from schools, military organizations like JROTC or Civil Air Patrol Cadets for instance and other groups like boy scouts. They are even pushing for all-female teams. C. Civil Air Patrol – Quite wide spread down south, CAP is a civilian corporation owned by the US Air Force. Its task is the primary Search & Rescue agency in the US. Primarily for missing aircraft, but also hikers, boaters, etc. They are all volunteers and always need pilots, air crews, ground search personnel and those to run the search. Among other squadron jobs, there is an official job for IT personnel. So, check your local CAP squadrons, volunteer and maybe be their IT shop or if they have Cadets, offer to coach a Cadet CyberPatriot team. D. National Collegiate Cyber Defense Championship – I have not dealt with this group, but it is a college version of CyberPatriot more or less, just for college students. If you live in a college town this may be another possible point to help out. This is just a partial list based on what I generally have had experience with. Anyone else have suggestions, even from their own countries, go ahead and add it. Just remember that when you volunteer you help your community and yourself. You can gain much broader experience that can only help you get jobs or pad your university application. Getting into cyber type stuff will give you a deeper grasp of computers and servers and help ensure your future web design customers have secure web sites.
  21. 1 point
    Hello Andrea, We are two years later, but since your website is still active, the following might be useful to you: 1) You already solved partly your problem regarding your header (from the "width" point of view, but not entirely from the "height" one). For you header div, you could use "background-size: cover;" instead of "background-size: 100%", because at the mobile width, your #dbe3f0 substitute background color for this div starts to appear as a grey horizontal strip below your background-image, which is not very beautiful. 2) Also, still at the mobile resolution, you should initally hide your navigation menu until a button is clicked, and not reveal it right away. As you still use Bootstrap in its version 3.3, this framework provides a quick and easy fix to this problem. Check out this page : http://getbootstrap.com/docs/3.3/javascript/#collapse But for this to work, you first need to include in your Wordpress theme both the jQuery library (which you already do) and the Bootstrap JAVASCRIPT library too, just below it, in the head section of your HTML code. Because currently, you only use the Bootstrap CSS responsive grid, but not its JavaScript capabilities. Don't worry if you didn't learn JavaScript, you wouldn't have to write a single line of JavaScript to take advantage of this feature. Then, basically, you add the following button with the following attributes: <button type="button" class="navbar-toogle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> And you add a "navbar-collapse" class to you nav div (this name must match the name of the data-target attribute of the previously inserted button): <nav class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li>Our services</li> <li>About us</li> <li>Photos</li> <li>Testimonials</li> <li>Contact Us</li> </ul> </nav>
  22. 1 point
    Slowly but surely! Thanks for your support.
  23. 1 point
    As Stef mentioned, you'll defintely want to get set up in webmaster tools / search console. Make sure you submit your site map and keep an eye on the crawl & index status for your site over the next week or so. You can also use an advanced search operator to see how many pages google currently has indexed, then manually flip through the results as needed: Head over to google and do a search for site:mywebsite.com ... ie: List of google advanced operators: Reference 1 from google & Reference 2 (more comprehensive) from a 3rd party site.
  24. 1 point
    I manage to fix my on code: if (!$urlIsValid) { die("Error: The requested URL was disallowed by the server administrator."); } $response = makeRequest($url); $rawResponseHeaders = $response["headers"]; $responseBody = $response["body"]; $responseInfo = $response["responseInfo"]; //SET THE BANNED WORDS. $banned_words = array("Prick","****","bull****","****","asshole"); //SUBSTITUTE THE BANNED WORDS ON PROXIED PAGE (CONTENT FILTERING). if($responseInfo['http_code'] == '200' ) { $regex = '/\b'; // The beginning of the regex string syntax $regex .= implode('\b|\b', $banned_words); // joins all the banned words to the string with correct regex syntax $regex .= '\b/i'; // Adds ending to regex syntax. Final i makes it case insensitive $substitute = '****'; $responseBody = preg_replace($regex, $substitute, $responseBody); } I changed this: $url = preg_replace($regex, $substitute, $response); to this: $responseBody = preg_replace($regex, $substitute, $responseBody);
  25. 1 point
    From my perspective, figure out what you are worth. If you believe that your time is worth $20 an hour before all expenses then that's where you can start. Next determine what it cost you to be able to perform your job such as home office space, computers, software, etc. You would then need to figure out the average of that cost. For instant, a computer might cost you $2000 and is in service for 3 years. Based on 2000 work hours per year, that would be roughly about 33 cents per hour over the course of 3 years. Same thing for home office, software and anything else you use such as printer, supplies, phone/cell, etc. Also, keep in mind administrative time. Although you don't bill them directly for such service you need to factor that into your cost. You can do the same thing with domain and hosting but I usually keep those separate since most client wants to know the cost of hosting and such. Hypothetically, you may need to charge $30 per hour in order to satisfy the fact that you are making $20 per hour after all expenses. Finally, if you charge a fixed rate job then you need factor in approximately how many hours it would normally takes you to build a site and then times that by your rate. If it takes you 10 hours to build a site then it would be 10 hours X $30 = $300. This is not something written in stone but it will give you a general idea how to determine your cost.
×