PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Moderator: General Moderators
traxy
Forum Newbie
Posts: 9 Joined: Thu Mar 26, 2009 11:34 pm
Post
by traxy » Thu Mar 26, 2009 11:41 pm
Hey Guys,
I am new to php coding and trying figure out why the following code isnt working. Here is my index page:
Code: Select all
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML Links Golf Club</title>
</head>
<body>
<h1>New Member Form</h1>
<form action:"addMember.php" method:"post">
Member ID
<input type:"text" name:"memberId">
Valid Until
<select name="day" id="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="month" id="month">
<option value="1">Janu</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
<input type:"text" name:"year">
<h2><b>Member Information</b></h2></p></p>
Member's First Name:
<input type:"text" name:"memberFirstName">
Last Name:
<input type:"text" name:"memberLastName">
<br />
Member's Phone #
<input type:"text" name:"memberPhone">
Australian Golf Handicap
<select name="handicap" id="handicap">
<option value="0" selected="selected">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
</select>
<br />
<input type="submit" value="Save Member">
<input type="reset" value="Reset">
<a href="index.html">Cancel and return to main page</a>
</form>
</body>
</html>
and here is my php code:
Code: Select all
<?php
if($_POST[memberId] == NULL){
echo "Please enter your member ID";
}
if(checkdate($_POST[day],$_POST[month],$_POST[year]) == FALSE){
echo "Please enter a valid date";
break;
}
elseif(file_exists(members) == FALSE)
{
mkdir("members");
$memberInformation = "Member ID: $_POST[memberId]\n";
$memberInformation .= "Valid Until: $_POST[day]\\$_POST[month]\\$_POST[year]\n";
$memberInformation .= "Member Name: $_POST[memberFirstName] $_POST[memberLastName]\n";
$memberInformation .= "Member Phone: $_POST[memberPhone]\n";
$memberInformation .= "Handicap: $_POST[handicap]\n";
$memberFile = "$_POST[memberId].txt";
file_put_contents($memberFile,$memberInformation);
echo"File Written";
}
?>
Now all I am simply trying to do is save the data entered in the form in a file named after that members memberId AND if the file does not exist create it. I am also trying to create a folder to store the member files in and if that folder does not exist create it.
What is happening at the moment is that after I fill out the form and click submit nothing happens, can you guys on here please point me in the right direction and at the same time comment on how I might improve my coding skills.
Thanks.
sujithtomy
Forum Commoner
Posts: 46 Joined: Tue Mar 24, 2009 4:43 am
Post
by sujithtomy » Fri Mar 27, 2009 12:01 am
Hello,
use = instead of : between attributes,
<form action="addMember.php" method="post"> -- Correct
<form action:"addMember.php" method:"post"> -- Incorrect
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http=//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http=//www.w3.org/1999/xhtml">
<head>
<title>HTML Links Golf Club</title>
</head>
<body>
<h1>New Member Form</h1>
<form action="addMember.php" method="post">
Member ID
<input type="text" name="memberId">
Valid Until
<select name="day" id="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="month" id="month">
<option value="1">Janu</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
<input type="text" name="year">
<h2><b>Member Information</b></h2>
</p>
</p>
Member's First Name:
<input type="text" name="memberFirstName">
Last Name:
<input type="text" name="memberLastName">
<br />
Member's Phone #
<input type="text" name="memberPhone">
Australian Golf Handicap
<select name="handicap" id="handicap">
<option value="0" selected="selected">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
</select>
<br />
<input type="submit" value="Save Member">
<input type="reset" value="Reset">
<a href="index.html">Cancel and return to main page</a>
</form>
</body>
</html>
Good Luck
traxy
Forum Newbie
Posts: 9 Joined: Thu Mar 26, 2009 11:34 pm
Post
by traxy » Fri Mar 27, 2009 1:19 am
Thanks for the tip, it now works.
I have run into another problem that hopefully you may be able to help with. The problem is that im using the file_put_contents function to try and save a text file in a particular directory but its not saving at all when i use an absolute or relative path.
eg. file_put_contents($memberFile,$memberInformation);
This saves the text file in the current folder on my web server (where my php script is located)
When I try and save it in the subdirectory called members nothing saves.
eg. file_put_contents(members/$memberFile,$memberInformation);
Any idea's on where I have gone wrong?
---------------------------------------------------------------------------------------
One other question is relation to the file_put_contents function. I will need to eventually read the file to edit information in it and I have seen there is another function called file_get_contents where you can specify the number of characters to get and where you start getting them from etc. The problem is for example what if a user types in surname "smith" and then I want to replace that with "thomsonjdfsadf" or some long surname, I am worried that will overwrite information.
Here is what a saved text file currently looks like:
Member ID: test
Valid Until: 1\1\1999
Member Name: GLen test
Member Phone: 55555
Handicap: 0
Any help with that would be great, is my format fine or should I take out things like Member ID: and Handicap: and just leave the important information like test and 0.
----------------------------------------------------------------------------------------------
Last but not least when saving a file with file_put_contents how can I change the permissions to that file when it is being created.
------------------------------------------------------------------------------------------------
Thanks for you help, any by the way I have tried for hours getting this to work so am using this as a last resort and would really appreciate your help.
sujithtomy
Forum Commoner
Posts: 46 Joined: Tue Mar 24, 2009 4:43 am
Post
by sujithtomy » Fri Mar 27, 2009 7:27 am
Hello,
Could you tell me which value for
$memberFile on runtime?
Last but not least when saving a file with file_put_contents how can I change the permissions to that file when it is being created.
use chmod() function after file is being created.
traxy
Forum Newbie
Posts: 9 Joined: Thu Mar 26, 2009 11:34 pm
Post
by traxy » Fri Mar 27, 2009 7:54 pm
Hey,
This is the value for memberFile
$memberFile = "$_POST[memberId].txt";
so if the user types in memberID 226755 it should create a file 226755.txt and store all the member information in that.
P.S all the code is in my first post.
THanks
Darkzaelus
Forum Commoner
Posts: 94 Joined: Tue Sep 09, 2008 7:02 am
Post
by Darkzaelus » Sat Mar 28, 2009 10:39 am
Code: Select all
$memberFile=$_POST['memberId'].".txt";
Im pretty sure if you want to get part of an array while in double quotes you need {}'s around it:
Code: Select all
$memberFile="{$_POST['memberID']}.txt";
Could be another alternative (correct me if i'm wrong!).
Darkzaelus