Results 1 to 8 of 8

Thread: Need Help...

  1. #1
    Join Date
    Nov 2007
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Need Help...

    I am new to php; i am creating a guest book; i got a code from net; but it doesn't work; plssss help
    THis is my config.php
    PHP Code:
    <?php
    $dbhost 
    'localhost';
    $dbuser '###### HIDDEN #########';
    $dbpass '###### HIDDEN #########';
    $dbname="mysql";
    ?>

    <?php
    $dbhost 
    'localhost';
    $dbuser 'root';
    $dbpass '';

    $conn mysql_connect($dbhost$dbuser$dbpass) or die ('Error connecting to mysql');

    $dbname 'mysql';
    mysql_select_db($dbname);

    ?>
    THis is my guestbook.php
    PHP Code:
    <?php
    // include the database configuration and
    // open connection to database
    include 'library/config.php';
    include 
    'library/opendb.php';

    // check if the form is submitted
    if(isset($_POST['btnSign']))
    {
        
    // get the input from $_POST variable
        // trim all input to remove extra spaces
        
    $name    trim($_POST['txtName']);
        
    $email   trim($_POST['txtEmail']);
        
    $url     trim($_POST['txtUrl']);
        
    $message trim($_POST['mtxMessage']);
        
        
    // escape the message ( if it's not already escaped )
        
    if(!get_magic_quotes_gpc())
        {
            
    $name    addslashes($name);
            
    $message addslashes($message);
        }


    // if the visitor do not enter the url
        // set $url to an empty string
        
    if ($url == 'http://')
        {
            
    $url '';
        }
        
        
    // prepare the query string
        
    $query "INSERT INTO $table (name, email, url, message, entry_date) VALUES 

    ('
    $name', '$email', '$url', '$message', current_date)";

        
    // execute the query to insert the input to database
        // if query fail the script will terminate         
        
    mysql_query($query) or die('Error, query failed. ' mysql_error());
        
        
    // redirect to current page so if we click the refresh button 
        // the form won't be resubmitted ( as that would make duplicate entries )
        
    header('Location: ' $_SERVER['REQUEST_URI']);
        
        
    // force to quite the script. if we don't call exit the script may
        // continue before the page is redirected
        
    exit;
    }


    ?>
    <html>
    <head>
    <title>Guestbook</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="styles/styles.css">
    <script language="JavaScript">
    /*
        This function is called when
        the 'Sign Guestbook' button is pressed
        Output : true if all input are correct, false otherwise
    */
    function checkForm()
    {
        // the variables below are assigned to each
        // form input 
        var gname, gemail, gurl, gmessage;
        with(window.document.guestform)
        {
            gname    = txtName;
            gemail   = txtEmail;
            gurl     = txtUrl;
            gmessage = mtxMessage;
        }
        
        // if name is empty alert the visitor
        if(trim(gname.value) == '')
        {
            alert('Please enter your name');
            gname.focus();
            return false;
        }
        // alert the visitor if email is empty or the format is not correct 
        else if(trim(gemail.value) != '' && !isEmail(trim(gemail.value)))
        {
            alert('Please enter a valid email address or leave it blank');
            gemail.focus();
            return false;
        }
        // alert the visitor if message is empty
        else if(trim(gmessage.value) == '')
        {
            alert('Please enter your message');
            gmessage.focus();
            return false;
        }
        else
        {
            // when all input are correct 
            // return true so the form will submit        
            return true;
        }
    }

    /*
    Strip whitespace from the beginning and end of a string
    Input  : a string
    Output : the trimmed string
    */
    function trim(str)
    {
        return str.replace(/^\s+|\s+$/g,'');
    }

    /*
    Check if a string is in valid email format. 
    Input  : the string to check
    Output : true if the string is a valid email address, false otherwise.
    */
    function isEmail(str)
    {
        var regex = /^[-_.a-z0-9]+@(([-a-z0-9]+\.)+

    (ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
        return regex.test(str);
    }
    </script>
    </head>
    <body>

    <form method="post" name="guestform">
     <table width="550" border="0" cellpadding="2" cellspacing="1">
      <tr> 
       <td width="100">Name *</td> <td> 
        <input name="txtName" type="text" id="txtName" size="30" maxlength="30"></td>
     </tr>
      <tr> 
       <td width="100">Email</td>
       <td> 
        <input name="txtEmail" type="text" id="txtEmail" size="30" maxlength="50"></td>
     </tr>
      <tr> 
       <td width="100">Website URL</td>
       <td> 
        <input name="txtUrl" type="text" id="txtUrl" value="http://" size="30" 

    maxlength="50"></td>
     </tr>
      <tr> 
       <td width="100">Message *</td> <td> 
        <textarea name="mtxMessage" cols="80" rows="5" id="mtxMessage"></textarea></td>
     </tr>
      <tr> 
       <td width="100">&nbsp;</td>
       <td> 
        <input name="btnSign" type="submit" id="btnSign" value="Sign Guestbook" onClick="return 

    checkForm();"></td>
     </tr>
    </table>
    </form>
    <br>
    <br>
    showing error "Error, query failed. No database selected"

    Edit: Removed MySQL username/password. Don't EVER EVER display it on the web.
    Last edited by tech_support; 11-19-2007 at 10:03 AM.

  2. #2
    Join Date
    May 2006
    Location
    Sydney, Australia - Near the coast.
    Posts
    1,995
    Thanks
    0
    Thanked 8 Times in 7 Posts

    Default

    Oh, sorry, what do you need help with? I can't see what you need by looking at the title. And probably 80% of people in this forum won't be bothered to help you as well.

    Added later:

    You'll need to create an actual database for this. Create a database using MySQL, then use
    PHP Code:
    mysql_select_db('mydbname'); 
    after the mysql_connect line.
    Peter - alotofstuffhere[dot]com - Email Me - Donate via PayPal - Got spare hardware? Donate 'em to me :) Just send me a PM.
    Currently: enjoying the early holidays :)
    Read before posting: FAQ | What you CAN'T do with JavaScript | Form Rules | Thread Title Naming Guide

  3. #3
    Join Date
    Mar 2006
    Location
    Illinois, USA
    Posts
    12,164
    Thanks
    265
    Thanked 690 Times in 678 Posts

    Default

    Should have something to do with this:
    mysql_select_db($dbname);

    That would imply that it isn't properly selecting that database.

    Is "mysql" the proper name for the database on your setup? Sounds generic.
    Daniel - Freelance Web Design | <?php?> | <html>| español | Deutsch | italiano | português | català | un peu de français | some knowledge of several other languages: I can sometimes help translate here on DD | Linguistics Forum

  4. #4
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Welcome to the forums mellnet. Please try and use a more descriptive title when posting a question in the future (versus "need help..." etc).

    Thanks,

  5. #5
    Join Date
    Nov 2007
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Yes; i had given my database name as 'mysql' and my table name as guestbook1, but whenever i am trying to run the guestbook.php file; i got error showing "Error, query failed. No database selected". I think you are right it is not properly selecting the database. So what i have to do for that. I had searched lot of tutorials and i can't solve the problem yet.

    Thanks for your reply
    Melvin.....

  6. #6
    Join Date
    Nov 2007
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Hey Mellnet,

    First glance... your using the mysql database ... That's not really a good idea, MySQL uses this database for it's self and, although you can use it, it really isn't a good idea...

    I would create a new database like ... "MyGuests" or something ... then a table like "GuestBook" ...

    then try the follow...

    PHP Code:
    <?php

    $dbhost 
    'localhost';
    $dbuser 'root';
    $dbpass '';

    $conn mysql_connect($dbhost$dbuser$dbpass) or die ('Error connecting to mysql' mysql_error());

    $dbname 'MyGuests';
    mysql_select_db($dbname) or die ("Error opening $dbname: " mysql_error());

    $table "GuestBook";
    $query "INSERT INTO $table (name, email, url, message, entry_date) VALUES ('%s', '%s', '%s', '%s', current_date)";

    $query sprintf($querymysql_real_escape_string($name),
                             
    mysql_real_escape_string($email),
                             
    mysql_real_escape_string($url),
                             
    mysql_real_escape_string($message));

    ?>
    As a matter of fact, re-reading your code... in your INSERT statement your using a variable $table... but no where in your code are you populating it with any value ... Thats probably why your INSERT statement is failing ... appending the mysql_error() to the die statement would tell you for sure what is going on...

    The mysql_real_escape_string helps to keep your data and database secure from attacks...

  7. #7
    Join Date
    Jul 2006
    Location
    just north of Boston, MA
    Posts
    1,806
    Thanks
    13
    Thanked 72 Times in 72 Posts

    Default

    Code:
    $query = "INSERT INTO $table (name, email, url, message, entry_date) VALUES ('%s', '%s', '%s', '%s', current_date)";
    
    $query = sprintf($query, mysql_real_escape_string($name),
                             mysql_real_escape_string($email),
                             mysql_real_escape_string($url),
                             mysql_real_escape_string($message),
                             date('M d, Y', time())
    );
    you forgot the entry date in your code. aj

  8. #8
    Join Date
    Nov 2007
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    aahhh... thanks... long day and even longer night ...

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •