Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

PHP Forum


You are currently viewing our PHP Forum as a guest. Please register to participate.
Login



Freelance Jobs

Reply
Code to Edit Flat File Entries?
Old 07-21-2010, 01:34 PM Code to Edit Flat File Entries?
Junior Talker

Posts: 1
Name: Rae
Trades: 0
Hello everyone,

I am currently working on a control panel for some people who know nothing whatsoever about webpage editing to be able to edit the menu I have posted on their website. I use text file includes to display all the information on the site and I need help with saving the edited data for each section back to its original file. I already have a form set up that inserts new items into the file and then displays the entries below the form within textfields/textareas for editing. The only thing I'm stuck on is how to write each entry that's listed below the add new entry form back into the file it was read from.

Here is the test form: http://bippys.romas-ellicottcity.com/test/addedit.php

And here is the code I'm using:
PHP Code:
<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<title>Bippy's Website Control Panel: Test</title>

<style type="text/css">
<!--
body, th, td, p, small {
    font-family: Verdana;
}

.td1 {    
    font-weight: bold;
    font-size: 12px;
    white-space: nowrap;
    vertical-align: bottom;
    border-bottom: 1px dotted black;
    padding:0px;}

.td2 {
    width: 96%;
    vertical-align: bottom;
    border-bottom: 1px dotted black;
    padding:0px;}
.td3 {
    font-size: 12px;
    text-align: right;
    vertical-align: bottom;
    padding:0px;}
.td4 {
    font-size: 10px;
    vertical-align: top;
    padding:0px;}

hr { 
    height: 0;
    border-style: dotted;
    border-width: 0px 0px 1px 0px;
    border-color: transparent; }

th {background-color:#dee; color:#677;}

h1 {font-size:120%; color:#558;}
-->
</style>

</head>

<body>
Editing: Test<br><br>
<table>

<form action="implode.php" method="post">
Item:<br><input type="text" name="item" size="40" maxlength="80"><br>
Description:<br><textarea name="desc" rows="3" cols="32"></textarea><br>
Price:<br><input type="text" name="price" size="40" maxlength="80"><br><br>
<input type="hidden" name="section" value="test">
<input type="submit" value="Submit">
</form>
<br><br>

<table width="500px">
<form name="edit" action="process.php" method="post">
<?php

$file_name 
'test.txt';

// this reads the file into an array
$file_array file($file_name);

if(
$_GET['action'] == 'deleteline'){
    
// a delete request was made, unencode the data
    
$delete_value base64_decode($_GET['line']);

    
// loop through the file array and only include
    // the lines that aren't the one we want to delete into
    // a  new array
    
foreach ($file_array as $line => $value) {
        if(
$delete_value != $value){
            
$new_array[] = $value;
        }
    }
    
// replace the old array with our new one with a
    // line removed
    
$file_array $new_array;
    
    
// collapse the array to a string
    
$file_data implode('',$file_array);

    
// write the data back to the file
    
$handle fopen($file_name'w+');
    
fwrite($handle$file_data);
    
fclose($handle);
}

reset($file_array);

$item = array();
foreach (
$file_array as $line => $value) {
    
$item explode('|'$value);
echo 
"<tr><td class='td1'><input type='text' name='item' value='".$item['0']."'><a href=".$_SERVER['PHP_SELF']."?action=deleteline&line=".base64_encode($value).">Delete</a></td>
<td class='td2'><hr></td>
<td class='td3'><input type='text' size='4' name='price' value='"
.$item['2']."'</td>
</tr><tr>
<td class='td4' colspan=2><textarea name='desc' rows='4' cols='31'>"
.$item['1']."</textarea></td>
</tr>"
;
}  
?>
<tr><td colspan="3"><input type="submit" name="submit2 value="Submit">&nbsp;&nbsp;<input type="reset" value="Reset"></td></tr>
</table>
</form>
</body>
</html>
And this is the code that processes the form and writes the info the the db:
PHP Code:
<?php

$item 
$_POST['item'];
$desc $_POST['desc'];
$price $_POST['price'];

$section $_POST['section'];

switch (
$section){
    case 
"app":
        
$file "appetizers";
        break;
    case 
"soup":
        
$file "soups";
        break;    
    case 
"sides":
        
$file "sides";
        break;    
    case 
"sandwiches":
        
$file "sandwiches";
        break;
    case 
"entrees":
        
$file "entrees";
        break;
    case 
"test":
        
$file "test";
        break;    
}

$line = array($item$desc$price);

$delimited implode("|"$line);

$myFile "test.txt";

$fh fopen($myFile'a+') or die("can't open file");

fwrite($fh"\r\n".$delimited);

fclose($fh);

header ("location:addedit.php");
?>
PS - I haven't coded anything in about 5yrs and I was still a noob when I left off... I'm sure there are tons of more efficient ways of accomplishing this, but I would like to use flat files

Any help would be greatly appreciated!
x_pariah_x is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 07-23-2010, 01:13 PM Re: Code to Edit Flat File Entries?
Average Talker

Posts: 22
Trades: 0
Please try besides rest part of the code adn see.

<?php
if($_POST['item']){
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, "\r\n".$delimited);
}
?>
__________________

Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE


Please login or register to view this content. Registration is FREE
katierosy is offline
Reply With Quote
View Public Profile Visit katierosy's homepage!
 
Reply     « Reply to Code to Edit Flat File Entries?
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.25414 seconds with 12 queries