获得一个简单的PHP函数来运行

时间:2011-10-27 20:59:42

标签: php function

  

可能重复:
  Invalid argument supplied for foreach() + Logic of Script

如果我的代码乱七八糟,我会提前道歉。这是我第一次使用PHP编写代码,因此我的方法可能不是最有效的。

我想制作一个“注册”表,用户在表中看到两列:时间和名称列。简单地说,如果用户看到可用时间,他们就可以将他们的名字插入表单中,我的脚本会在他们注册时更新页面。如果他们试图保留的时间不可用(该块不显示“可用”),该页面将通知用户。

我的createTable函数有效 - 请参阅此页面(http://rich2233.comoj.com/rich2233.php)。我的问题在于写入文件,在函数editTxt中。我坚持如何继续修改.txt文件中的特定行并进行修改。任何人都可以帮助让这个程序运行吗?

 My .txt looks like this:
 8:00 am|Rich Jones
 9:00 am|Available
 ......
 5:00 pm|Available

最新代码:

  <?php

if (isset($_POST['submit'])) { 
    $find_name = $_POST['name'];
    $find_time = $_POST['time'];
    $filename = getcwd() . "/test.txt";
    $lines = file( $filename , FILE_IGNORE_NEW_LINES );
foreach($lines as $key => $line)
{
        list($time, $name) = explode('|', $line);
        if($time == $find_time && $name == "Available")
        {
        $lines[$key] = $time."|".$find_name;
        file_put_contents( $filename , $lines );
        break;
  }
  }

  }
// Read the file into an array
$users = file("test.txt");
$hours_taken = array();

// Begin Table
echo "<table align = 'center' border='2' width='50%' cellspacing='0' 
    cellpadding='0'>";
echo "<caption> Sign/Up Sheet </caption>";
echo "<tr><td><b>Time</b></td><td><b>Name</b></td></tr>";

// Cycle through the array
foreach ($users as $user) {

    // Parse the line
    list($time, $name) = explode('|', $user);
array_push($hours_taken, $time);

    // Remove newline 
    $name = trim($name);

    // Output the data in a two column table
    echo "<tr><td>".$time."</td><td>".$name."</td></tr>";

}
echo "</table>";

// Assuming same order of rows in users.txt
$hours = array('8:00 am', '9:00 am', '10:00 am','11:00 am', '12:00 pm', '1:00 pm',  
    '2:00 pm', '3:00 pm', '4:00 pm', '5:00 pm'); 

$i = 1;
echo 'Name:<input type ="text" id="name" name="name" size="20" maxlength="40" />';
echo '<select name="time"><option selected>-- Select time --</option>';
foreach ($hours as $hour) {
if (in_array($hour, $hours_taken)) {
    echo '<option disabled=disabled>'. $hour .'</option>';
}
else {
    echo '<option value='. $i .'>'. $hour .'</option>';
}
$i++;
}

 ?>
 <html>
 <form method="post" action="<?php echo $PHP_SELF;?>">  
 <input type="submit" id="submit" name="submit" value="Sign Up!" />
 </form>
 </html>

0 个答案:

没有答案