Note that there are some explanatory texts on larger screens.

plurals
  1. POTo understand PHP's include -command
    text
    copied!<p>I would like to have all variables accessible of the file <em>handler_login.php</em> which I <code>include</code> in the file <em>handler_question.php</em>. The <em>handler_question.php</em> processes the data from the following form.</p> <p><strong>My form_question.php</strong></p> <pre><code>&lt;form method="post" action="handler-question.php"&gt; &lt;p&gt;Title: &lt;input name="question_title" type="text" cols="92" /&gt; &lt;/p&gt; &lt;p&gt;Question: &lt;div id="wmd-container" class="resizable-textarea"&gt; &lt;textarea id="input" class="textarea" tabindex="101" rows="15" cols="92" name="question_body" /&gt;&lt;/textarea&gt; &lt;/div&gt; &lt;/p&gt; &lt;p&gt;Tags: &lt;input name="tags" type="text" cols="92" /&gt; &lt;/p&gt; &lt;input type="submit" value="OK" /&gt; &lt;/form&gt; </code></pre> <p>The following file is what the last file includes</p> <p><strong>My handler_login.php</strong></p> <pre><code>&lt;?php // independent variables $dbHost = "localhost"; $dbPort = 5432; $dbName = "masi"; $dbUser = "masi"; $dbPassword = "123456"; $conn = "host=$dbHost port=$dbPort dbname=$dbName user=$dbUser password=$dbPassword"; // you can store the username and password to $_SESSION variable $dbconn = pg_connect($conn); if(!$dbconn) { exit; } $sql = "SELECT username, passhash_md5, email FROM users WHERE username = '{$_POST['username']}' AND email = '{$_POST['email']}' AND passhash_md5 = '{$_POST['password']}';"; $result = pg_query($dbconn, $sql); if(!$result) { exit; } $username = $_POST['username']; $passhash_md5 = md5($_POST['password']); // COOKIE setting /*{{{*/ /* $cookie may look like this: variables $username = "username" $passhash_md5 = "password-in-md5" before md5: "usernamepasshash_md5" after md5: "a08d367f31feb0eb6fb51123b4cd3cb7" */ $login_cookie = md5( $username . $passhash_md5 ); $sql3 = "SELECT passhash_md5 FROM users WHERE username=$_POST['username'];"; $password_data_original = pg_query($dbconn, $sql3); while ($row = pg_fetch_row($data)) { $password_original = $row[0]; } $login_cookie_original = md5( $username . $password_original ); // Check for the Cookie if (isset($_COOKIE['login']) ) { // Check if the Login Form is the same as the cookie if ( $login_cookie_original == $login_cookie ) { header("Location: index.php"); die("logged in"); } header("Location: index.php"); die("wrong username/password"); } // If no cookie, try logging them in else { //Get the Data // we do not want SQL injection so we use pg_escape_string $sql2 = sprintf("SELECT * from users WHERE passhash_md5='%s', pg_escape_string($login_cookie)); $raw_user_list = pg_query($dbconn, $sql2); if ($user = pg_fetch_row($row_user_list)) { setcookie ("login", $login_cookie); header("Location: index.php"); die("logged in"); } else { header("Location: index.php"); die("wrong username/password"); } } pg_close($dbconn); ?&gt; </code></pre> <p><strong>and finally my handler_question.php where the problem occurs</strong></p> <pre><code>&lt;?php include 'handler-login.php'; // This is the problem $question_body = '{$_POST['question_body']}' // I get an error right from the beginning $question_title = '{$_POST['question_title']}' $sql_questions_question_id = "SELECT question_id FROM users WHERE username = $username;" // $username comes from handler_login.php $questions_question_id = pg_query($dbconn, $sql_questions_question_id); // to get tags to an array $tags = '{$_POST['question_tags']}'; $tags_trimmed = trim($tags); $tags_array = explode(",", $tags_trimmed); // to save the cells in the array to db $sql_tags_insert = "INSERT INTO tags (tag, questions_question_id) VALUES (for ($i = 0; $i &lt; count($tags_array); $i++)" $sql = "SELECT username, passhash_md5, email FROM users WHERE username = '{$_POST['username']}' AND email = '{$_POST['email']}' AND passhash_md5 = '{$_POST['password']}';"; $result = pg_query($dbconn, $sql); if(!$result) { exit; } $username = $_POST['username']; $passhash_md5 = md5($_POST['password']); pg_close($dbconn); ?&gt; </code></pre> <p><em>How can you have all variables of handler_login.php to be accessible by handler_question.php?</em></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload