Jump to content

paul1

Members
  • Posts

    21
  • Joined

  • Last visited

Everything posted by paul1

  1. Please can someone let me know if i have a site on the root dir and move it to a addon domain in the same dir (or folder there) do i need to put the css js and images on the root and not in the addon dir for this to work correctly.
  2. Hi everyone, I have a domain that is running which is www.oldhambouncycastles.co.uk and this is displaying correctly on my root, but i have a new addon domain with the same site running which is www.manchestermascots.co.uk I have put the same site on the addon to shown what is happening, the second site (manchestermascots) will not display css js or images correctly. Please can anyone advise me on what is going on. Thanks.
  3. If anybody is using jpages and wants the page to scroll to the top input this scroll back method in callback on jpages callback: function( pages, items ){ $('html').animate({scrollTop:0}, 'slow');//IE, FF $('body').animate({scrollTop:0}, 'slow');//chrome, } Please can anyone let me know if there is a better method or if there could be any problems with this. Thanks for pointing me in the right direction again.
  4. Sorry I get what you mean now there is a callback function in jpages already undefined, can I use that function in jpages to scroll to the top of a page. Thanks.
  5. Thanks, will the callback function be incorporated in the jquery plugin or will I have to incorporate this into jpages. The issue also is that at the moment if I use the scroll top method, anything on the page that is being clicked will scroll to the top, except the pagination $("div.holder"), so if I am correct I would need --- the plugin then a call back function to a scroll top function.
  6. The problem I am having is that the function is calling jpages, $(function() { /* initiate plugin */ $("div.holder").jPages({ containerID: "itemContainer" }); }); Can I use something like this that would also scroll to ID at the top of the page, or would this have to be incorporated into jpages above.
  7. Hi, I have a JS file that runs pagination top and bottom, everything runs fine but on reloading a new page from the bottom you have to scroll up to the top, please can any help me with the location I should put the $(window).scroll(function(){ . Thankyou. /*** jQuery jPages v0.7* Client side pagination with jQuery* http://luis-almeida.github.com/jPages** Licensed under the MIT license.* Copyright 2012 Luís Almeida* https://github.com/luis-almeida*/;(function($, window, document, undefined) { var name = "jPages", instance = null, defaults = { containerID: "", first: false, previous: "← previous", next: "next →", last: false, links: "numeric", // blank || title startPage: 1, perPage: 5, midRange: 5, startRange: 1, endRange: 1, keyBrowse: false, scrollBrowse: false, pause: 0, clickStop: false, delay: 50, direction: "forward", // backwards || auto || random || animation: "", // http://daneden.me/animate/ - any entrance animations fallback: 400, minHeight: true, callback: undefined // function( pages, items ) { } }; function Plugin(element, options) { this.options = $.extend({}, defaults, options); this._container = $("#" + this.options.containerID); if (!this._container.length) return; this.jQwindow = $(window); this.jQdocument = $(document); this._holder = $(element); this._nav = {}; this._first = $(this.options.first); this._previous = $(this.options.previous); this._next = $(this.options.next); this._last = $(this.options.last); /* only visible items! */ this._items = this._container.children(":visible"); this._itemsShowing = $([]); this._itemsHiding = $([]); this._numPages = Math.ceil(this._items.length / this.options.perPage); this._currentPageNum = this.options.startPage; this._clicked = false; this._cssAnimSupport = this.getCSSAnimationSupport(); this.init(); } Plugin.prototype = { constructor : Plugin, getCSSAnimationSupport : function() { var animation = false, animationstring = 'animation', keyframeprefix = '', domPrefixes = 'Webkit Moz O ms Khtml'.split(' '), pfx = '', elm = this._container.get(0); if (elm.style.animationName) animation = true; if (animation === false) { for (var i = 0; i < domPrefixes.length; i++) { if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) { pfx = domPrefixes[i]; animationstring = pfx + 'Animation'; keyframeprefix = '-' + pfx.toLowerCase() + '-'; animation = true; break; } } } return animation; }, init : function() { this.setStyles(); this.setNav(); this.paginate(this._currentPageNum); this.setMinHeight(); }, setStyles : function() { var requiredStyles = "<style>" + ".jp-invisible { visibility: hidden !important; } " + ".jp-hidden { display: none !important; }" + "</style>"; $(requiredStyles).appendTo("head"); if (this._cssAnimSupport && this.options.animation.length) this._items.addClass("animated jp-hidden"); else this._items.hide(); }, setNav : function() { var navhtml = this.writeNav(); this._holder.each(this.bind(function(index, element) { var holder = $(element); holder.html(navhtml); this.cacheNavElements(holder, index); this.bindNavHandlers(index); this.disableNavSelection(element); }, this)); if (this.options.keyBrowse) this.bindNavKeyBrowse(); if (this.options.scrollBrowse) this.bindNavScrollBrowse(); }, writeNav : function() { var i = 1, navhtml; navhtml = this.writeBtn("first") + this.writeBtn("previous"); for (; i <= this._numPages; i++) { if (i === 1 && this.options.startRange === 0) navhtml += "<span>...</span>"; if (i > this.options.startRange && i <= this._numPages - this.options.endRange) navhtml += "<a href='#' class='jp-hidden'>"; else navhtml += "<a>"; switch (this.options.links) { case "numeric": navhtml += i; break; case "blank": break; case "title": var title = this._items.eq(i - 1).attr("data-title"); navhtml += title !== undefined ? title : ""; break; } navhtml += "</a>"; if (i === this.options.startRange || i === this._numPages - this.options.endRange) navhtml += "<span>...</span>"; } navhtml += this.writeBtn("next") + this.writeBtn("last") + "</div>"; return navhtml; }, writeBtn : function(which) { return this.options[which] !== false && !$(this["_" + which]).length ? "<a class='jp-" + which + "'>" + this.options[which] + "</a>" : ""; }, cacheNavElements : function(holder, index) { this._nav[index] = {}; this._nav[index].holder = holder; this._nav[index].first = this._first.length ? this._first : this._nav[index].holder.find("a.jp-first"); this._nav[index].previous = this._previous.length ? this._previous : this._nav[index].holder.find("a.jp-previous"); this._nav[index].next = this._next.length ? this._next : this._nav[index].holder.find("a.jp-next"); this._nav[index].last = this._last.length ? this._last : this._nav[index].holder.find("a.jp-last"); this._nav[index].fstBreak = this._nav[index].holder.find("span:first"); this._nav[index].lstBreak = this._nav[index].holder.find("span:last"); this._nav[index].pages = this._nav[index].holder.find("a").not(".jp-first, .jp-previous, .jp-next, .jp-last"); this._nav[index].permPages = this._nav[index].pages.slice(0, this.options.startRange) .add(this._nav[index].pages.slice(this._numPages - this.options.endRange, this._numPages)); this._nav[index].pagesShowing = $([]); this._nav[index].currentPage = $([]); }, bindNavHandlers : function(index) { var nav = this._nav[index]; // default nav nav.holder.bind("click.jPages", this.bind(function(evt) { var newPage = this.getNewPage(nav, $(evt.target)); if (this.validNewPage(newPage)) { this._clicked = true; this.paginate(newPage); } evt.preventDefault(); }, this)); // custom first if (this._first.length) { this._first.bind("click.jPages", this.bind(function() { if (this.validNewPage(1)) { this._clicked = true; this.paginate(1); } }, this)); } // custom previous if (this._previous.length) { this._previous.bind("click.jPages", this.bind(function() { var newPage = this._currentPageNum - 1; if (this.validNewPage(newPage)) { this._clicked = true; this.paginate(newPage); } }, this)); } // custom next if (this._next.length) { this._next.bind("click.jPages", this.bind(function() { var newPage = this._currentPageNum + 1; if (this.validNewPage(newPage)) { this._clicked = true; this.paginate(newPage); } }, this)); } // custom last if (this._last.length) { this._last.bind("click.jPages", this.bind(function() { if (this.validNewPage(this._numPages)) { this._clicked = true; this.paginate(this._numPages); } }, this)); } }, disableNavSelection : function(element) { if (typeof element.onselectstart != "undefined") element.onselectstart = function() { return false; }; else if (typeof element.style.MozUserSelect != "undefined") element.style.MozUserSelect = "none"; else element.onmousedown = function() { return false; }; }, bindNavKeyBrowse : function() { this.jQdocument.bind("keydown.jPages", this.bind(function(evt) { var target = evt.target.nodeName.toLowerCase(); if (this.elemScrolledIntoView() && target !== "input" && target != "textarea") { var newPage = this._currentPageNum; if (evt.which == 37) newPage = this._currentPageNum - 1; if (evt.which == 39) newPage = this._currentPageNum + 1; if (this.validNewPage(newPage)) { this._clicked = true; this.paginate(newPage); } } }, this)); }, elemScrolledIntoView : function() { var docViewTop, docViewBottom, elemTop, elemBottom; docViewTop = this.jQwindow.scrollTop(); docViewBottom = docViewTop + this.jQwindow.height(); elemTop = this._container.offset().top; elemBottom = elemTop + this._container.height(); return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)); // comment above and uncomment below if you want keyBrowse to happen // only when container is completely visible in the page /*return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom <= docViewBottom) && (elemTop >= docViewTop) );*/ }, bindNavScrollBrowse : function() { this._container.bind("mousewheel.jPages DOMMouseScroll.jPages", this.bind(function(evt) { var newPage = (evt.originalEvent.wheelDelta || -evt.originalEvent.detail) > 0 ? (this._currentPageNum - 1) : (this._currentPageNum + 1); if (this.validNewPage(newPage)) { this._clicked = true; this.paginate(newPage); } evt.preventDefault(); return false; }, this)); }, getNewPage : function(nav, target) { if (target.is(nav.currentPage)) return this._currentPageNum; if (target.is(nav.pages)) return nav.pages.index(target) + 1; if (target.is(nav.first)) return 1; if (target.is(nav.last)) return this._numPages; if (target.is(nav.previous)) return nav.pages.index(nav.currentPage); if (target.is(nav.next)) return nav.pages.index(nav.currentPage) + 2; }, validNewPage : function(newPage) { return newPage !== this._currentPageNum && newPage > 0 && newPage <= this._numPages; }, paginate : function(page) { var itemRange, pageInterval; itemRange = this.updateItems(page); pageInterval = this.updatePages(page); this._currentPageNum = page; if ($.isFunction(this.options.callback)) this.callback(page, itemRange, pageInterval); this.updatePause(); }, updateItems : function(page) { var range = this.getItemRange(page); this._itemsHiding = this._itemsShowing; this._itemsShowing = this._items.slice(range.start, range.end); if (this._cssAnimSupport && this.options.animation.length) this.cssAnimations(page); else this.jQAnimations(page); return range; }, getItemRange : function(page) { var range = {}; range.start = (page - 1) * this.options.perPage; range.end = range.start + this.options.perPage; if (range.end > this._items.length) range.end = this._items.length; return range; }, cssAnimations : function(page) { clearInterval(this._delay); this._itemsHiding .removeClass(this.options.animation + " jp-invisible") .addClass("jp-hidden"); this._itemsShowing .removeClass("jp-hidden") .addClass("jp-invisible"); this._itemsOriented = this.getDirectedItems(page); this._index = 0; this._delay = setInterval(this.bind(function() { if (this._index === this._itemsOriented.length) clearInterval(this._delay); else { this._itemsOriented .eq(this._index) .removeClass("jp-invisible") .addClass(this.options.animation); } this._index = this._index + 1; }, this), this.options.delay); }, jQAnimations : function(page) { clearInterval(this._delay); this._itemsHiding.addClass("jp-hidden"); this._itemsShowing.fadeTo(0, 0).removeClass("jp-hidden"); this._itemsOriented = this.getDirectedItems(page); this._index = 0; this._delay = setInterval(this.bind(function() { if (this._index === this._itemsOriented.length) clearInterval(this._delay); else { this._itemsOriented .eq(this._index) .fadeTo(this.options.fallback, 1); } this._index = this._index + 1; }, this), this.options.delay); }, getDirectedItems : function(page) { var itemsToShow; switch (this.options.direction) { case "backwards": itemsToShow = $(this._itemsShowing.get().reverse()); break; case "random": itemsToShow = $(this._itemsShowing.get().sort(function() { return (Math.round(Math.random()) - 0.5); })); break; case "auto": itemsToShow = page >= this._currentPageNum ? this._itemsShowing : $(this._itemsShowing.get().reverse()); break; default: itemsToShow = this._itemsShowing; } return itemsToShow; }, updatePages : function(page) { var interval, index, nav; interval = this.getInterval(page); for (index in this._nav) { if (this._nav.hasOwnProperty(index)) { nav = this._nav[index]; this.updateBtns(nav, page); this.updateCurrentPage(nav, page); this.updatePagesShowing(nav, interval); this.updateBreaks(nav, interval); } } return interval; }, getInterval : function(page) { var neHalf, upperLimit, start, end; neHalf = Math.ceil(this.options.midRange / 2); upperLimit = this._numPages - this.options.midRange; start = page > neHalf ? Math.max(Math.min(page - neHalf, upperLimit), 0) : 0; end = page > neHalf ? Math.min(page + neHalf - (this.options.midRange % 2 > 0 ? 1 : 0), this._numPages) : Math.min(this.options.midRange, this._numPages); return {start: start,end: end}; }, updateBtns : function(nav, page) { if (page === 1) { nav.first.addClass("jp-disabled"); nav.previous.addClass("jp-disabled"); } if (page === this._numPages) { nav.next.addClass("jp-disabled"); nav.last.addClass("jp-disabled"); } if (this._currentPageNum === 1 && page > 1) { nav.first.removeClass("jp-disabled"); nav.previous.removeClass("jp-disabled"); } if (this._currentPageNum === this._numPages && page < this._numPages) { nav.next.removeClass("jp-disabled"); nav.last.removeClass("jp-disabled"); } }, updateCurrentPage : function(nav, page) { nav.currentPage.removeClass("jp-current"); nav.currentPage = nav.pages.eq(page - 1).addClass("jp-current"); }, updatePagesShowing : function(nav, interval) { var newRange = nav.pages.slice(interval.start, interval.end).not(nav.permPages); nav.pagesShowing.not(newRange).addClass("jp-hidden"); newRange.not(nav.pagesShowing).removeClass("jp-hidden"); nav.pagesShowing = newRange; }, updateBreaks : function(nav, interval) { if ( interval.start > this.options.startRange || (this.options.startRange === 0 && interval.start > 0) ) nav.fstBreak.removeClass("jp-hidden"); else nav.fstBreak.addClass("jp-hidden"); if (interval.end < this._numPages - this.options.endRange) nav.lstBreak.removeClass("jp-hidden"); else nav.lstBreak.addClass("jp-hidden"); }, callback : function(page, itemRange, pageInterval) { var pages = { current: page, interval: pageInterval, count: this._numPages }, items = { showing: this._itemsShowing, oncoming: this._items.slice(itemRange.start + this.options.perPage, itemRange.end + this.options.perPage), range: itemRange, count: this._items.length }; pages.interval.start = pages.interval.start + 1; items.range.start = items.range.start + 1; this.options.callback(pages, items); }, updatePause : function() { if (this.options.pause && this._numPages > 1) { clearTimeout(this._pause); if (this.options.clickStop && this._clicked) return; else { this._pause = setTimeout(this.bind(function() { this.paginate(this._currentPageNum !== this._numPages ? this._currentPageNum + 1 : 1); }, this), this.options.pause); } } }, setMinHeight : function() { if (this.options.minHeight && !this._container.is("table, tbody")) { setTimeout(this.bind(function() { this._container.css({ "min-height": this._container.css("height") }); }, this), 1000); } }, bind : function(fn, me) { return function() { return fn.apply(me, arguments); }; }, destroy : function() { this.jQdocument.unbind("keydown.jPages"); this._container.unbind("mousewheel.jPages DOMMouseScroll.jPages"); if (this.options.minHeight) this._container.css("min-height", ""); if (this._cssAnimSupport && this.options.animation.length) this._items.removeClass("animated jp-hidden jp-invisible " + this.options.animation); else this._items.removeClass("jp-hidden").fadeTo(0, 1); this._holder.unbind("click.jPages").empty(); } }; $.fn[name] = function(arg) { var type = $.type(arg); if (type === "object") { if (this.length && !$.data(this, name)) { instance = new Plugin(this, arg); this.each(function() { $.data(this, name, instance); }); } return this; } if (type === "string" && arg === "destroy") { instance.destroy(); this.each(function() { $.removeData(this, name); }); return this; } if (type === 'number' && arg % 1 === 0) { if (instance.validNewPage(arg)) instance.paginate(arg); return this; } return this; };})(jQuery, window, document);
  8. Well always the best place for advise, and keep up the good work, and thank you for your time, regards.
  9. So all in all if it is written new, we are talking a lot of time and if some one takes open source and paid software, re-jigs it to work together, this method would be a lot cheaper. Are there pitfalls to using other peoples work, like we have to pay them to use the wares, and if so, can you buy the programs out right or is this always on subscription, and also can you use this software to build sites for multiple businesses or each time a new site is built a new payment is due.
  10. How much would you say at a glance, this would of cost him to setup, i also know this guy and he owns a network where he sets up websites for bouncy castle operators world wide. This is sort of what i am looking at.
  11. I have seen a system that is perfect, i can only show you the site for you to see the booking system, http://www.gobouncy.co.uk/booking.aspx?id=34#bookingForm
  12. Well lets say that I am not the person for this job, the level that i am at is html, css, slight php. Never got to MySQL. What would you suggest the best option for me to take. Also what price would this type of system cost me. Thanks
  13. Hi everyone, I am looking at building a complete booking system (not one from the web). I was wondering if anybody had any information with regards to how they are setup, also what would be the best language to use for the best results, I am looking for a booking system that can take multiple items for different days, most I have seen are just like a contact form with a calendar attached. I would like to build one that could be use for maybe a hire company, were you have multiple products that can be hired out for different days. Or does anyone now where to go for bespoke systems and if so what type of price would I be looking at for this type of system. Also the problem I am have is the coding in the background, the forms and visual information is fine, but how does the system say that this item is booked for the day. Thanks for any replies.
  14. paul1

    Syntax Error in PHP

    Thank you and yes i have been looking at this for an hour now, the minds of many always beat my small one.Thank you i appreciate your help.
  15. paul1

    Syntax Error in PHP

    <?php/*** @Title: Recaptcha Validation** @Date Modified: 6/01/09** Instructions: This code lives within the form. Generally above the <SUBMIT> button*///A.This div notifies the user whether the Recaptcha was Successful or notecho "\n\t" . '<div id="captchaStatus" style="color:red;font-size:12px"></div>';//B. This script provides Recaptcha with a Themeecho "\n\t" .'<script type="text/javascript" charset="utf-8">';echo "\n\t" .'var RecaptchaOptions = { theme: "clean" };';echo "\n\t" . '</script>' . "\n";//C. Require the Recaptcha Libraryrequire_once('recaptchalib.php');//D. READ ME!$publickey = ""recaptcha_get_html( $publickey ); // the error message is here?>
  16. paul1

    Syntax Error in PHP

    Hi, can anybody please help me with a syntax error i am having, i have a piece of php code and i can not figure out what the problem is, i have tried using the code on its own without my form and the same error is coming up.Thank you.111.php
  17. Thank you for pointing me in the right direction, i will start my reading, you might see me again in the js forum. Much appreciated.
  18. What would be the best why of doing this with ajax or posting the whole form? With ajax will it hold the details of the for until the recaptcha has been validated, and also with ajax will i need a new PHP file to hold the recaptcha PHP verify file.Thank you.
  19. Please can sombody help me i have a PHP form and it is fine but i am trying to add recaptcha to the form. The form is already validated and i have having trouble with were the recaptcha is to be placed for it to work. I don't know much PHP but i am good a following instructions or advise. From what i know the form validates in PHP and then javascript, but i dont know how to add a instruction to validate the form then stop and hold the information until the recaptcha processes is finish then send post the form.Any help i would be so happy with, i have been playing with this for days now. I will post the code for the form and recaptcha not the mess i have been making. <?php // php for recaptcharequire_once('recaptchalib.php'); // reCAPTCHA Library$pubkey = ""; // Public API Key$privkey = ""; // Private API Key if ($_POST['doVerify']) { $verify = recaptcha_check_answer($privkey, $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field']); if ($verify->is_valid) { # Enter Success Code echo "Your response was correct!"; } else { # Enter Failure Code echo "You did not enter the correct words. Please try again."; }}?>-------------------------------------------------------------------------------------------------------------------------------------------------------------------<div> <!--the form information from recaptcha that i have--><form method="post" action="verify.php"><?php echo recaptcha_get_html($pubkey, $verify->error); ?><input type="submit" name="doVerify" value="Verify" /></form></div>-------------------------------------------------------------------------------------------------------------------------------------------------------------------<?php // Start of my form php data// Set email variables$email_to = 'My email Address inputting';$email_subject = 'Form submission';// Set required fields$required_fields = array('fullname','email','comment');// set error messages$error_messages = array( 'fullname' => 'Please enter a Name to proceed.', 'email' => 'Please enter a valid Email Address to continue.', 'comment' => 'Please enter your Message to continue.');// Set form status$form_complete = FALSE;// configure validation array$validation = array();// check form submittalif(!empty($_POST)) { // Sanitise POST array foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value)); // Loop into required fields and make sure they match our needs foreach($required_fields as $field) { // the field has been submitted? if(!array_key_exists($field, $_POST)) array_push($validation, $field); // check there is information in the field? if($_POST[$field] == '') array_push($validation, $field); // validate the email address supplied if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation, $field); } // basic validation result if(count($validation) == 0) { // Prepare our content string $email_content = 'New Website Comment: ' . "\n\n"; // simple email content foreach($_POST as $key => $value) { if($key != 'submit') $email_content .= $key . ': ' . $value . "\n"; } // if validation passed ok then send the email mail($email_to, $email_subject, $email_content); // Update form switch $form_complete = TRUE; }}function validate_email_address($email = FALSE) { return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;}function remove_email_injection($field = FALSE) { return (str_ireplace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));}?>------------------------------------------------------------------------------------------------------------------------------------------------------------------<div id="formWrap"><!--My form information--> <h2>We Appreciate Your Feedback</h2><div id="form"><?php if($form_complete === FALSE): ?><form action="contact.php" method="post" id="comments_form"> <div class="row"> <div class="label">Your Name</div> <!-- end .label --> <div class="input"> <input type="text" id="fullname" class="detail" name="fullname" value="<?php echo isset($_POST['fullname'])? $_POST['fullname'] : ''; ?>" /><?php if(in_array('fullname', $validation)): ?><span class="error"><?php echo $error_messages['fullname']; ?></span><?php endif; ?> </div><!-- end .input --> <div class="context">e.g. John Smith or Jane Doe</div><!-- end .context --> </div><!-- end .row --> <div class="row"> <div class="label">Your Email Address</div> <!-- end .label --> <div class="input"> <input type="text" id="email" class="detail" name="email" value=<?php echo isset($_POST['email'])? $_POST['email'] : ''; ?>"" /><?php if(in_array('email', $validation)): ?><span class="error"><?php echo $error_messages['email']; ?></span><?php endif; ?> </div><!-- end .input --> <div class="context">We will not share your email with anyone.</div><!-- end .context --> </div><!-- end .row --> <div class="row"> <div class="label">Your Message</div> <!-- end .label --> <div class="input2"> <textarea id="comment" name="comment" class="mess"><?php echo isset($_POST['comment'])? $_POST['comment'] : ''; ?></textarea><?php if(in_array('comment', $validation)): ?><span class="error"><?php echo $error_messages['comment']; ?></span><?php endif; ?> </div><!-- end .input --> </div><!-- end .row --> <div class="submit"> <input type="submit" id="submit" name="submit" value="Send Message" /> </div><!-- end .submit --> </form> <?php else: ?><p style="font-size:35px; font-family:Arial; color:#255E67; margin-left:25px;">Thank you for your Message!</p><script type="text/javascript">setTimeout('ourRedirect()', 5000)function ourRedirect(){ location.href='index.html'}</script><?php endif; ?></div><!-- end #form --></div><!-- end formWrap --> Thanks if anybody can help me.
  20. Hi everyone.Can anybody please help me with a question i have, my website is html and i would like to add the google recaptcha to my forms, which are in html with js and they contact php files to run them. I have been looking on the web and the only tutorials i can find are where the form is in php and it contacts a php process file. Any help in the right direction would be gratefully. I dont really have the heads up on php but html i fine with.Thanks.
  21. Hi everybody, thought i come here to introduce myself and get some good information on PHP, SQL as i no not a think about them, well the workings.Full name: PaulAlternative name(s): FleckGender: MaleCountry of residance: UKCity of residance: ManchesterFavourite Music: AnythingFavourite Movies: The Pursuit of HappynessInterest: Snooker, Pool, Websites, RunningAdditional comments: That sort of sums me up to a tea, Thanks
×
×
  • Create New...