PDA

View Full Version : Learning php/mysql...



PeterJB
08-02-2006, 12:56 PM
Hi all,

I'm trying to teach myself php, and i need a little help. I have made a script for a registration page but when i press the submit button it clears the form and doesn't take me the the "thankyou for registering" page, or enter the info into the database.

I'm learning from a book called Beginning php5.

Here's the code, if anyone can help i would be greatfull. if someone can help you'll need to see a file called common_db.inc, to make this code work, i have it but this page would get rather large with all this code. :-)




<?php
//register.php
include_once "./common_db.inc";
function in_use($userid)
{
global $user_tablename;

$query = "SELECT userid FROM $user_tablename WHERE userid = '$userid'";
$result = mysql_query($query);
if(!mysql_num_rows($result)){
return 0;
}else{
return 1;
}
}
function register_form()
{
global $userposition;
global $PHP_SELF;
$link_id = db_connect();
mysql_select_db("sample_db");
$position_array = enum_options('userposition', $link_id);
mysql_close($link_id);
?>

<CENTER><H3>Create your account!</H3></CENTER>
<FORM METHOD="POST" ACTION="<?php echo $PHP_SELF ?>">
<INPUT TYPE="HIDDEN" NAME="action">
<DIV ALIGN="CENTER"><CENTER><TABLE BORDER="1" WIDTH="90%">
<TR>
<TH WIDTH="30%" NOWRAP>Desired ID</TH>
<TD WIDTH="70%"><INPUT TYPE="TEXT" NAME="userid"
SIZE="8" MAXLENGTH="8"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Desired Password</TH>
<TD WIDTH="70%"><INPUT TYPE="PASSWORD"
NAME="userpassword" SIZE="15"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Retype Password</TH>
<TD WIDTH="70%"><INPUT TYPE="PASSWORD"
NAME="userpassword2" SIZE="15"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Full Name</TH>
<TD WIDTH="70%"><INPUT TYPE="TEXT" NAME="username" SIZE="20"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Position</TH>
<TD WIDTH="70%"><SELECT NAME="userposition" SIZE="1">
<?php

for($i=0; $i < count($position_array); $i++) {
if(!isset($userposition) && $i == 0) {
echo "<OPTION SELECTED VALUE=\"". $position_array[$i] .
"\">" . $position_array[$i] . "</OPTION>\n";
}else if($userposition == $cposition_array[$i]) {
echo "<OPTION SELECTED VALUE=\"". $position_array[$i] . "\">" .
$position_array[$i] . "</OPTION>\n";
}else{
echo "<OPTION VALUE=\"". $position_array[$i] . "\">" .
$position_array[$i] . "</OPTION>\n";
}
}
?>

</SELECT></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Email</TH>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="useremail" SIZE="20">
</TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Profile</TH>
<TD WIDTH="70%"><TEXTAREA ROWS="5" COLS="40" NAME="userprofile"></TEXTAREA></TD>
</TR>
<TR>
<TH WIDTH="30%" COLSPAN="2" NOWRAP>
<INPUT TYPE="SUBMIT" VALUE="Submit">
<INPUT TYPE="RESET" VALUE="Reset"></TH>
</TR>
</TABLE>
</CENTER></DIV>
</FORM>
<?php
}
function create_account()
{
$userid = $_POST['userid'];
$username = $_POST['username'];
$userpassword = $_POST['userpassword'];
$userpassword2 = $_POST['userpassword2'];
$userposition = $_POST['userposition'];
$useremail = $_POST['useremail'];
$userprofile = $_POST['userprofile'];
global $default_dbname, $user_tablename;

if(empty($userid)) {
error_message("Enter your desired ID!");
}
if(empty($userpassword)) {
error_message("Enter your desired password!");
}
if(strlen($userpassword) < 4 ) {
error_message("Password too short!");
}
if(empty($userpassword2)) {
error_message("Retype your password for verification!");
}
if(empty($username)) {
error_message("Enter your full name!");
}
if(empty($useremail)) {
error_message("Enter your email address!");
}
if(empty($userprofile)) {
$userprofile = "No Comment.";
}
if($userpassword != $userpassword2) {
error_message("Your desired password and retyped password mismatch!");
}

$link_id = db_connect($default_dbname);

if(in_use($userid)) {
error_message("$userid is in use. Please choose a different ID.");
}

$query = "INSERT INTO user VALUES(NULL, '$userid', password('$userpassword'),
'$username', '$userposition', '$useremail', '$userprofile')";
$result = mysql_query($query);
if(!$result) {
error_message(sql_error());
}
$usernumber = mysql_insert_id($link_id);
html_header();
?>

<CENTER><H3>
<?php echo $username ?>, thank you for registering with us!
</H3></CENTER>
<DIV ALIGN="CENTER"><CENTER><TABLE BORDER="1" WIDTH="90%">
<TR>
<TH WIDTH="30%" NOWRAP>User Number</TH>
<TD WIDTH="70%"><?php echo $usernumber ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Desired ID</TH>
<TD WIDTH="70%"><?php echo $userid ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Desired Password</TH>
<TD WIDTH="70%"><?php echo $userpassword ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Full Name</TH>
<TD WIDTH="70%"><?php echo $username ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Position</TH>
<TD WIDTH="70%"><?php echo $userposition ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Email</TH>
<TD WIDTH="70%"><?php echo $useremail ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Profile</TH>
<TD WIDTH="70%"><?php echo htmlspecialchars($userprofile) ?></TD>
</TR>
</TABLE>
</CENTER></DIV>
<?php
html_footer();
}
if (empty($_POST)) {
$_POST['action'] = "";
}
switch($_POST['action']) {
case "register":
create_account();
break;
default:
html_header();
register_form();
html_footer();
break;
}
?>

circuspet.com
08-02-2006, 01:15 PM
PeterJB:

Sorry I'm not much Tec help, but while surfing last night I Googled shareware and found a Php converter software download that might make thing easier for you.

econstas
08-04-2006, 05:21 AM
Well, for the submit issue. The basics in Php is taught in the tutorials. It will help with the transfer of info to the php script.. submit button not clearing your info..and how to set your php script. I have been using 2 pages. 1 is the html form the 2nd is php script.. ( I am still new myself )