Jump to content

blesseld

Members
  • Posts

    90
  • Joined

  • Last visited

    Never

Everything posted by blesseld

  1. Hey All, I am trying to figuere out how to apply MD5 to my password field for my user setup. this was my setup I ran <?php include_once 'tbnl-functions.php'; echo '<h3>Setting up</h3>'; createTable('tbnlmembers', 'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user VARCHAR(16), pass VARCHAR(16), fname VARCHAR(16), lname VARCHAR(16), email VARCHAR(16), INDEX(user(6))'); createTable('tbnlmessages', 'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, auth VARCHAR(16), recip VARCHAR(16), pm CHAR(1), time INT UNSIGNED, message VARCHAR(4096), INDEX(auth(6)), INDEX(recip(6))'); createTable('tbnlfriends', 'user VARCHAR(16), friend VARCHAR(16), INDEX(user(6)), INDEX(friend(6))'); createTable('tbnlprofiles', 'user VARCHAR(16), text VARCHAR(4096), INDEX(user(6))'); ?> and here is my signup page <?php $sheet_name = "users-signup"; include ("../inc/control.php"); //main inc dir. include ("inc/tbnl-functions.php"); //users inc dir. include ("inc/tbnl-header.php"); include ("../inc/page-top.php"); echo $content; echo <<< _END <script> function checkUser(user) { if (user.value == '') { document.getElementById('info').innerHTML = '' return } params = "user=" + user.value request = new ajaxRequest() request.open("POST", "inc/tbnl-checkuser.php", true) request.setRequestHeader("Content-type", "application/x-www-form-urlencoded") request.setRequestHeader("Content-length", params.length) request.setRequestHeader("Connection", "close") request.onreadystatechange = function() { if (this.readyState == 4) { if (this.status == 200) { if (this.responseText != null) { document.getElementById('info').innerHTML = this.responseText } else alert("Ajax error: No data received") } else alert( "Ajax error: " + this.statusText) } } request.send(params) } function ajaxRequest() { try { var request = new XMLHttpRequest() } catch(e1) { try { request = new ActiveXObject("Msxml2.XMLHTTP") } catch(e2) { try { request = new ActiveXObject("Microsoft.XMLHTTP") } catch(e3) { request = false } } } return request } </script> <h3>Sign up Form</h3> _END; $error = $user = $pass = ""; if (isset($_SESSION['user'])) destroySession(); if (isset($_POST['user'])) { $user = sanitizeString($_POST['user']); $pass = sanitizeString($_POST['pass']); $fname = sanitizeString($_POST['fname']); $lname = sanitizeString($_POST['lname']); $email = sanitizeString($_POST['email']); if ($user == "" || $pass == "") { $error = "Not all fields were entered<br /><br />"; } else { $query = "SELECT * FROM tbnlmembers WHERE user='$user'"; if (mysql_num_rows(queryMysql($query))) { $error = "That username already exists<br /><br />"; } else { $query = "INSERT INTO tbnlmembers VALUES(NULL, '$user', '$pass', '$fname', '$lname', '$email')"; queryMysql($query); } header('Location: http://tbaynightlife.com/users/tbnl-login.php'); die(""); } } echo <<< _END <div id="user-sign-up-form"> <form method='post' action='tbnl-signup.php'>$error <ul class="single"> <li><label>First Name</label><input type='text' maxlength='16' name='fname' value='$fname' /></li> <li><label>Last Name</label><input type='text' maxlength='16' name='lname' value='$lname' /></li> <li><label>Desired Login Name</label><input type='text' maxlength='16' name='user' value='$user' onBlur='checkUser(this)'/><br /><label> </label><span id='info'></span></li> <li><label>Password</label><input type='text' maxlength='16' name='pass' value='$pass' /></li> <li><label>Email</label><input type='text' maxlength='16' name='email' value='$email' /></li> <li><input type='submit' value='Signup' /></li> </ul> </form> </div> _END; include ("../inc/page-bot.php"); ?> I tried looking around, but im not understanding where to apply md5, do i need to write a function? or can i do it upon setup of my table? thanks in advance.
  2. Thankyou for the resource, I will definitely read through it.
  3. Hey All, I haven't worked with integrating paypal into any of my sites yet, and not to sure where to get started. Didn't know where exactly to post this, (mods please move if needed) I guess I'm looking for some links, or any help with getting started. I am very curious as to the process in having paypal integrated with my site so if someone signs up it will request them to create an account or email them account details, also this will be a recurring payment membership site. Also with that being said is it possible to have the account suspend when the next payment is up? Any articles, or info provided is appreciated. Just need to get this learning process started.
  4. How else could i get my footer to load then on the successful login?
  5. <?php include_once 'tbnl-header.php'; echo "<h3>Member Log in</h3>"; $error = $user = $pass = ""; if (isset($_POST['user'])) { $user = sanitizeString($_POST['user']); $pass = sanitizeString($_POST['pass']); if ($user == "" || $pass == "") { $error = "Not all fields were entered<br />"; } else { $query = "SELECT user,pass FROM tbnlmembers WHERE user='$user' AND pass='$pass'"; if (mysql_num_rows(msql_query($query)) == 0) { $error = "Username/Password invalid<br />"; } else { $_SESSION['user'] = $user; $_SESSION['pass'] = $pass; die("You are now logged in. Please <a href='tbnl-members.php?view=$user'>click here</a>.)"); } } } echo <<< _END <form method='post' action='tbnl-login.php'>$error Username <input type='text' maxlength='16' name='user' value='$user' /><br /> Password <input type='password' maxlength='16' name='pass' value='$pass' /><br /> <input type='submit' value='Login' /> </form> _END; include ("../inc/page-bot.php"); ?> If there is a successful login, my include "page-bot" will not load
  6. Fatal error: Call to undefined function msql_query() in /home/tbaynigh/public_html/members/tbnl-login.php on line 17
  7. Hey, In my login script, If the user enters an invalid login the include works, also if they leave a field empty it works. But because there is a die() and it just says "you are now logged in, click here." The include is my middle content div, and footer. I can't figure out how to make this script load my include if its a successful login. Here is the login script <?php include_once 'tbnl-header.php'; echo "<h3>Member Log in</h3>"; $error = $user = $pass = ""; if (isset($_POST['user'])) { $user = sanitizeString($_POST['user']); $pass = sanitizeString($_POST['pass']); if ($user == "" || $pass == "") { $error = "Not all fields were entered<br />"; } else { $query = "SELECT user,pass FROM tbnlmembers WHERE user='$user' AND pass='$pass'"; if (mysql_num_rows(queryMysql($query)) == 0) { $error = "Username/Password invalid<br />"; } else { $_SESSION['user'] = $user; $_SESSION['pass'] = $pass; die("You are now logged in. Please <a href='tbnl-members.php?view=$user'>click here</a>.)"); } } } echo <<<_END <form method='post' action='tbnl-login.php'>$error Username <input type='text' maxlength='16' name='user' value='$user' /><br /> Password <input type='password' maxlength='16' name='pass' value='$pass' /><br /> <input type='submit' value='Login' /> </form> _END; include("../inc/page-bot.php"); ?> any ideas how I can get this to load include("../inc/page-bot.php"); after die("You are now logged in. Please <a href='tbnl-members.php?view=$user'>click here</a>.)"); Thanks in advance
  8. Awesome, And what about ob_end_flush() Should that be at the bottom of my logout script? or do I not need to flush unless using multiple ob_start()?
  9. Hey All, Quick question, I was following a book, and im just getting the example setup. I understand what's going on, but I had a header issue ONLY on logout. So I looked through my functions and header file. here's the header error: Warning: Cannot modify header information - headers already sent by (output started at /home/tbaynigh/public_html/members/tbnl-header.php:10) in /home/tbaynigh/public_html/members/tbnl-functions.php on line 35 You have been logged out. Please click here to refresh the screen. So it's still working just got the error, then i remembered about ob_start(); Here is my header <?php include 'tbnl-functions.php'; session_start(); if (isset($_SESSION['user'])) { $user = $_SESSION['user']; $loggedin = TRUE; } else $loggedin = FALSE; echo "<html><head><title>$appname"; if ($loggedin) echo " ($user)"; echo "</title></head><body><font face='verdana' size='2'>"; echo "<h2>$appname</h2>"; if ($loggedin) { echo "<b>$user</b>: <a href='tbnl-members.php?view=$user'>Home</a> | <a href='tbnl-members.php'>Members</a> | <a href='tbnl-friends.php'>Friends</a> | <a href='tbnl-messages.php'>Messages</a> | <a href='tbnl-profile.php'>Profile</a> | <a href='tbnl-logout.php'>Log out</a>"; } else { echo "<a href='index.php'>Home</a> | <a href='tbnl-signup.php'>Sign up</a> | <a href='tbnl-login.php'>Log in</a>"; } ?> Here are my functions: <?php $dbhost = 'localhost'; // Unlikely to require changing $dbname = 'dbname'; // Modify these... $dbuser = 'user'; // ...variables according $dbpass = 'pass'; // ...to your installation $appname = "Business Profiles"; // ...and preference mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); mysql_select_db($dbname) or die(mysql_error()); function createTable($name, $query) { if (tableExists($name)) { echo "Table '$name' already exists<br />"; } else { queryMysql("CREATE TABLE $name($query)"); echo "Table '$name' created<br />"; } } function tableExists($name) { $result = queryMysql("SHOW TABLES LIKE '$name'"); return mysql_num_rows($result); } function queryMysql($query) { $result = mysql_query($query) or die(mysql_error()); return $result; } function destroySession() { $_SESSION=array(); if (session_id() != "" || isset($_COOKIE[session_name()])) setcookie(session_name(), '', time()-2592000, '/'); session_destroy(); } function sanitizeString($var) { $var = strip_tags($var); $var = htmlentities($var); $var = stripslashes($var); return mysql_real_escape_string($var); } function showProfile($user) { if (file_exists("$user.jpg")) echo "<img src='$user.jpg' border='1' align='left' />"; $result = queryMysql("SELECT * FROM tbnlprofiles WHERE user='$user'"); if (mysql_num_rows($result)) { $row = mysql_fetch_row($result); echo stripslashes($row[1]) . "<br clear=left /><br />"; } } ?> After Adding ob_start(); after session_start(); in my header, I was able to logout without errors. My quesiton is, Is this a proper thing to do? I am not familiar enough with PHP and don't want to run into issues down the road.
  10. Yes, that works, thankyou, However, is there a way i can toss it in the URL without having to add the echo to all of my links? Like some kinda script I can place in my variables file to auto toss it in the url? this is more what im after, shoulda been more clear.
  11. Hey All, I believe what i am trying to do is very simple, but no where actually explains the first part. All i would like to do is add a variable to my URL. I have a file that sets all the page id's for all the pages on my site. and gets included on all pages. how can i get it to show up at the end of my URL? here is a chunk of my file that sets the variables <?php switch ($sheet_name) { case 'homepage': { $page_id = "1"; $current_link = "home"; $dir_listing = "false"; $title ="title"; $meta_desc = "description"; $meta_key = "keywords"; break; } ?> I am tryng to get http://www.domain.com?page_id=1 thanks
  12. Here is what I have done, its exactly what i want to do, however my question now is, Is there a smarter way to do this? Ok, So i created a string <?php //Start Service Table $service_table = '<div id="services-chart">'; $service_table .= '<table class="alternating" cellpadding="0" cellspacing="0" border="0" width="755">'; $service_table .= '<tr>'; $service_table .= '<th class="cell1" align="center"> </th>'; $service_table .= '<th class="cell2" align="center">Free</th>'; $service_table .= '<th class="cell3" align="center">Bronze</th>'; $service_table .= '<th class="cell4" align="center">Silver</th>'; $service_table .= '<th class="cell5" align="center">Gold</th>'; $service_table .= '<th class="cell6" align="center">Custom</th>'; $service_table .= '</tr>'; $service_table .= '<tbody>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '<tr>'; $service_table .= '<td class="cell1" align="left"><p class="t1">test</p></td>'; $service_table .= '<td class="cell2" align="left"><p class="t2">test</p></td>'; $service_table .= '<td class="cell3" align="center">test</td>'; $service_table .= '<td class="cell4" align="center">test</td>'; $service_table .= '<td class="cell5" align="center">test</td>'; $service_table .= '<td class="cell6" align="center"><a href="#nogo">test</a></td>'; $service_table .= '</tr>'; $service_table .= '</tbody>'; $service_table .= '</table>'; $service_table .= '</div>'; //End Service Table ?> Now this is a table that only appears on my service page, however also on the service page the layout changes. so the whole purpose of this is to have the table info above in the same file as the content(paragraphs photos etc.) that way I don't need a separate file to include the table. Then in my main file for the template of the site, I use an if statement and then call my table. <?php if ( $page_id == "4" ) { ?> <div id="our-services-box"><?php echo $service_table; ?></div> <? } else { ?> <? } ?> now when i view service page, the table shows up. And i can edit it form the same file as my content. Is this a good approach, or is there a way smarter way? Thanks
  13. Hey, Thanks for the reply, not quite what i am going for... let me post the full info. This is my Services page. <?php $sheet_name = "ourservices"; include("inc/control.php"); ?> <?php include("inc/page-top.php"); ?> <h2 class="<?=$h2_class?>"><?=$main_h2?></h2> <div id="services-chart"> <table class="alternating" cellpadding="0" cellspacing="0" border="0" width="755"> <tr> <th class="cell1" align="center"> </th> <th class="cell2" align="center">Free</th> <th class="cell3" align="center">Bronze</th> <th class="cell4" align="center">Silver</th> <th class="cell5" align="center">Gold</th> <th class="cell6" align="center">Custom</th> </tr> <tbody> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> <tr> <td class="cell1" align="left"><p class="t1">test</p></td> <td class="cell2" align="left"><p class="t2">test</p></td> <td class="cell3" align="center">test</td> <td class="cell4" align="center">test</td> <td class="cell5" align="center">test</td> <td class="cell6" align="center"><a href="#nogo">test</a></td> </tr> </tbody> </table> </div> <?php $our_services_right_column = "<h2>This is a test</h2><p>this is test thisx is testing somthing different then just a heading to see if everything is working ok.</p>"; ?> <?php include("inc/page-bot.php"); ?> I would like to wrap the table in somthing so i can call it within: <? if ( $page_id == "4" ) { ?> <div id="our-services-box">[color=red]CALL THE TABLE HERE[/color]</div> <? } else { ?> <? } ?> So without writing the table in... i want to call it from within anther file... is that possible? again without cutting the table out and placing it in a separate file then using an include... i have a million includes already and would like to keep the content per page in the same file. sorry for any confusion
  14. Her All, Here is my scenario, <? if ( $page_id == "4" ) { ?> <div id="our-services-box"></div> <? } else { ?> <? } ?> Im using that obviously to display a Div. However I would like to place something in that Div per say like in a variable. I know if i say <?php $title = "Input this title"; ?> then in my html <title><?=$title?></title> I know that works and you can put some html in there, but how can i put a full HTML table in my Div? WITHOUT using an include. I don't want a separate file just for the table. I am already using this page as an include, and would like to keep all of the content in the same file... Any ideas? thanks in advance.
  15. I think I'm good for now, I'm going to start setting up the db, we'll see what issues I run into...i'll probably post them here if I run into any. Thanks for the help
  16. hrmmm, I kinda like the idea of storing variables in the db, ...also the site will be faily large in the end. My folder structure is currently: forum images inc js index.php about.php then i want to add a couple folders for different sections...that use different layouts. business entertainment ... all which are controlled by control.php...here is a snipet from the file case 'giorge': { $page_id = "101"; $title ="Title"; $meta_desc = "desc"; $meta_key = "keywords"; $nav_style = "browse"; $nav_trail_start = "home"; $nav_trail_root = "browse-places"; $nav_trail_category = "restaurants"; $nav_trail_page ="<a class='blue' href='#nogo'>- Giorge Restaurant</a>"; include("inc/head.php"); include("inc/header1.php"); break; } default: { echo ""; break; } } case 'giorge' is the main variable, all my pages have this. <?php $sheet_name = "homepage"; include("inc/control.php"); ?> I htink a db would be good for this control file, But i guess I want to tackle and learn to load full content within the body just to learn it, but main use would be for my news section I want to implement a box on the main page that takes "x"amount of characters form the 3 recent news pages, and feed them into my news box on my homepage.
  17. I gues I'm lost on the actual process, Am I storing all my content within the data base... like the content between my top and bot includes, or am i storing the actual file within the db? or, like wrapping my content between my top/bot includes, creating another file then storing that in the db.... this is where im stuck
  18. I do plan on using mysql. ...and have just started reading into it
  19. Hey All, I'm looking to get pointed in the right direction to create a more dynamic php website. What I am trying to achieve is Setting up a database to store my content. I have done Many Many searches in google, and its all about creating the database. I guess I am after understanding how the data is stored and how to go about doing it... My site is currently setup with a wack of includes, to make things easier to update. Below is how my index page is setup, I setup a variable to give it a name, and the control.php is where i set all my variables for page_id, title, keywords ... <?php $sheet_name = "homepage"; include("inc/control.php"); ?> <?php include("inc/page-top.php"); ?> <p>Some content here</p> <?php include("inc/expand-boxes.php"); ?> <p>more includes</p> <?php include("inc/page-bot.php"); ?> I guess I'm just lost on what needs to be done... What I am after is storing my "Content" the code between the page-top and page-bot in a database to act like articles.... or is there a smarter thing to do? I get the concept of connecting to a database, Just don't know how the data is stores, and how do I store code and whatnot within the database. Any help on my journey to create a more dynamic php template/website would be very much appreciated, Thanks in advance.
  20. Hey All, Now I have no idea what I am doing to create what I want, but i'm willing to tackle it, need just a little clarification and maybe a finger pointing in a direction. Any help is much appreciated. Here it goes. I'm trying to make a makeshift nav trail to show users where they are, based on variables that are already declared. <?=$nav_trail_root?> <?=$nav_trail_category?> <?=$nav_trail_page?> Right now I put these in my page to see if the variables were working, and they are, they return the values. I tried this first <?php if ($nav_trail_root == "browse-places") echo "<a href="#">test link</a>" ?> Of course it did not work, with a bit of research I found this: <?php if ($nav_trail_root == "browse-places") echo ("<a href='#'\">".Test."</a>"); ?> Works to put a link in, no idea why though. anyone care to explain? Over all now, what I am trying to achieve is creating a makeshift navtrail using the 3 variables to output their links in a line <?=$nav_trail_root?> <?=$nav_trail_category?> <?=$nav_trail_page?> root is the main link, when you hover over it expands some sub categories, and hovering over those sub categories expands the end pages. Any idea how I could build somthing like, If <?=$nav_trail_root?> == "root nav item" ------create link, and if <?=$nav_trail_category?> == category2 ---create proper link and last <?=$nav_trail_page?> current page ---create link. No idea what direction to start. Any help would be greatly appreciated Thanks Carlo
  21. Hey All, I am sure there is a smarter way of doing this... Basically I have a file called control.php, and it contains a case. for example on my index.php I set a variable $sheet_name = "homepage" and include my control.php So every page on my site has "sheet name" I call it and set the other variables. Reason I'm doing this is for quick editing for SEO, so I can edit titles and description and keywords for all my pages from one file. I also set variables for different "categories" so I can highlight my navigation to show current page with a style if the category = "whatever" case 'homepage': { $page_id = "1"; $title ="Page Title"; $meta_desc = "Page Description"; $meta_key = "keywords"; $category = "keywords"; include("inc/head.php"); include("inc/header1.php"); break; } basically, Is this at all a smart way of doing this or should I move to storing variables in a database and then calling them? Or continue with how I have it.
  22. I am having troubles deciding on a free script for my membership site, Can anyone suggest anything? I will be using clickbank to signup recurring commissions and the thankyou page will be the registration page. This will allow them to gain access to the site. so If a user is to cancel I can remove them . Otherwise I was just going to password protect the directory and change the password every month... then I would have to email the members. Any suggestions?
  23. You can definatly One up people by having valid HTML /CSS, plus it shows other people you have taken the time to develop a website properly. I would always recommend having valid HTML, I work for a company with 300+ clients, every site is valid. Our competitors in our city have some big client lists, but not quite 300...but they don't have valid websites. Having Valid HTML/CSS shows professionalism , thats for sure.
  24. Hey I'm just doing some research on a membership site script, I need multiple levels, some free access and bronze silver and gold memberships. I looked into amember and easy membership pro, anyone Im swaying towards amember. It coasts roughly 180usd, im not to concerned with price, I just lack the knowledge to set it up my self, I only know bits and pieces of PHP for making my websites more dynamic. My Question is, has anyone used these? Is there a better one out there? Any other suggestions? thanks in advance carlo
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.