Jump to content

Fwrite wont make a new file if it has a question mark in it?


Allenph9

Recommended Posts

So I really don't think I need to paste the code but

 

<?php
session_start();
?>
<?php
$new_thread_page_path = 'general_discussion_threads/' . $_POST['thread_title'] . '.php';
$new_table_link = '<a href="' . $new_thread_page_path . '"' . 'class="hover" border="0" style="text-decoration:none">' . $_POST['thread_title'] . '</a>';
?>
<?php
date_default_timezone_set('EST');
$date = date("m/d/y");
$hour = date("g");
$minute = date("i");
$second = date("s");
$am_pm = date("a");
$full_date = $date . '  ' . $hour . ":" . $minute . ":" . $second . $am_pm;
$place_holder = '<!--the_place_holder-->';
$current_page_path = 'general_discussion_home.php';
$open_current_page = fopen($current_page_path, 'rb');
$contents_of_current_page = fread($open_current_page, filesize($current_page_path));
$template_path = 'general_discussion_threads/template.php';
$open_template = fopen($template_path, 'rb');
$template_contents = fread($open_template, filesize($template_path)); 
$new_thread_page_path = 'general_discussion_threads/' . $_POST['thread_title'] . '.php';
$list_file_path = 'general_discussion_threads/thread_list.txt';
$list_open = fopen($list_file_path, 'rb');
$list_open_write = fopen($list_file_path, 'a');
$open_new_thread_page = fopen($new_thread_page_path, 'w+');
$list_contents = fread($list_open, filesize($list_file_path));
$thread_exists_test = substr_count($list_contents, '<' . strtolower($_POST['thread_title'] . '>'));
$invalid_character_test = substr_count($_POST['thread_title'], '<');
$invalid_character_test1 = substr_count($_POST['thread_title'], '>');
$the_users_info = $_SESSION['the_user'];
$the_username1 = strstr($_SESSION['the_user'], '.');
$the_username1_wipe = str_replace($the_username1, '', $the_users_info);
$the_username = str_replace('.', '', $the_username1_wipe);
if (isset($_POST['new_thread_post'])) {
if (($_SESSION['logged_in'] == '1') && ($invalid_character_test1 == '0') && ($invalid_character_test == '0') && ($thread_exists_test == '0') && ($_POST['thread_title'] != '') && ($_POST['thread_title'] != 'Enter the title of your Thread...')) {
fwrite($open_new_thread_page, '<?php $the_thread_title = ' . '\'' . $_POST['thread_title'] . '\'' . '; ?>' . $template_contents);
fclose($open_new_thread_page);
fwrite($list_open_write, '<' . strtolower($_POST['thread_title']) . '>');
fclose($list_open_write);
$new_contents =str_replace($place_holder, '<tr><td align="center">' . $new_table_link . '</td>' . '<td align="center">' . '<font color="#66CC00">' . $full_date . '</font>' . '</td>' . '<td align="center">' . '<font color="#66CC00">' . $the_username . '<font>' . '</td>' . '</tr>' . $place_holder, $contents_of_current_page);
$open_current_page = fopen($current_page_path, 'w');
fwrite($open_current_page, $new_contents);
fclose($open_current_page);
$_SESSION['gd_error'] = 'Thread created succesfully!';
} elseif ($_SESSION['logged_in'] != '1') {
$_SESSION['gd_error'] = 'You need to be logged in!';
} elseif ($invalid_character_test != '0') {
$_SESSION['gd_error'] = 'Thread title contains invalid characters!';
} elseif ($invalid_character_test1 != '0') {
$_SESSION['gd_error'] = 'Thread title contains invalid characters!';
} elseif ($thread_exists_test != '0') {
$_SESSION['gd_error'] = 'Thread title unavailable!';
} elseif ($_POST['thread_title'] == '') {
$_SESSION['gd_error'] = 'You must make a thread title!';
} elseif ($_POST['thread_title'] == 'Enter the title of your Thread...') {
$_SESSION['gd_error'] = 'You must make a thread title!';
}
}
?>

 

So what all this does is based on user input it creates a new html page based off of the template with a few different variables based on input. Then it makes a new row  and 3 cells in the home pages thread table that link to the page say who made it and what time they made it. Now it all works PERFECT (Im suprised how perfect on the first try actually) except for 1 tiny flaw which i think might be php not me but im not sure. The fwrite creates a new file but if the input contains any question marks (?) the link will work but no file will be created. For everyother character on teh standard keyboard its fine but not the question mark. What gives? thanks yall!

 

MOD EDIT: <code></code> tags changed to proper

 . . . 

BBCode tags.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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