Jump to content

Can't insert record into Access Database


Zuggy

Recommended Posts

I'm trying to create a registration/login script using Access 2003. I'm using ADOdb to connect through ODBC.

 

<?php
// Connects to your Database
include('adodb/adodb.inc.php');	   # load code common to ADOdb
$db = &ADONewConnection('access');	# create a connection
$db->PConnect('evdb');   # connect to MS-Access, evdb DSN
//$db->debug = true;

//This code runs if the form has been submitted
if (isset($_POST['submit'])) {

//This makes sure they did not leave any fields blank
if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) {
die('You did not complete all of the required fields, <a href="reg.php">Return</a>');
}

// checks if the username is in use
if (!get_magic_quotes_gpc()) {
$_POST['username'] = addslashes($_POST['username']);
}
$usercheck = $_POST['username'];
$check = $db->GetRow("SELECT user.username FROM [user] WHERE username = '$usercheck'");
//echo "<pre>"; print_r($db); echo "</pre>";
//or die('<b>Could Not Connect to Server</b>');
$check2 = count($check);


//if the name exists it gives an error
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}

// this makes sure both passwords entered match
if ($_POST['pass'] != $_POST['pass2']) {
die('Your passwords did not match.');
}

// here we encrypt the password and add slashes if needed
$_POST['pass'] = md5($_POST['pass']);
if (!get_magic_quotes_gpc()) {
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['username'] = addslashes($_POST['username']);
}

// now we insert it into the database
$insert = "INSERT INTO user ( username, password )
VALUES ('".$_POST['username']."','".$_POST['pass']."')";
echo $insert;
//$add_member = Execute($insert);
?>


<h1>Registered</h1>
<p>Thank you, you have registered - you may now login</a>.</p>

<?php
}
else
{
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td>Username:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="10">
</td></tr>
<tr><td>Confirm Password:</td><td>
<input type="password" name="pass2" maxlength="10">
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Register"></th></tr> </table>
</form>

<?php
}

?>

 

The problem is that I get the little custom error Could Not Connect to Server when I try to insert a record, yet when I use the form with a username I inserted through Access it reads it just fine and returns if the username has been used. Also if I removed line line 23

or die('<b>Could Not Connect to Server</b>');

and it'll complete the script, but it won't insert the record.

 

I am at work using a test server without outside access so if you need more info, go ahead and ask and I'll post it on Monday when I get back in.

 

Thanks for the help.

Link to comment
https://forums.phpfreaks.com/topic/53900-cant-insert-record-into-access-database/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.