Php Help
Moderator: General Moderators
Php Help
I have a problem with PHP, I have this code and it doesn't work:
<?php
$next_q = $_COOKIE["next"];
if ($next_q == ""){
//go to first question
$next_q = 1;
}
$question = "q".$next_q.".php";
header("Location:$question");
?>
this error comes out:
Notice: Undefined index: next in c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php:2) in c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php on line 8
Basicly it redirects you to a page and makes a cookie, I have no Idea what the problem is.
Thank You.
<?php
$next_q = $_COOKIE["next"];
if ($next_q == ""){
//go to first question
$next_q = 1;
}
$question = "q".$next_q.".php";
header("Location:$question");
?>
this error comes out:
Notice: Undefined index: next in c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php:2) in c:\inetpub\wwwroot\tilt\module2\quiz\quiz.php on line 8
Basicly it redirects you to a page and makes a cookie, I have no Idea what the problem is.
Thank You.
are you sure thats the full code? i can run that without any errors, but a few things you should do:
1. read this http://www.devnetwork.net/forums/viewtopic.php?t=1157
2. post with your PHP inside [ php] [ /php] tags, it makes it easier to read(without the space)
There must be more code, because with that, nothing is never being outputted, so the header should work..
1. read this http://www.devnetwork.net/forums/viewtopic.php?t=1157
2. post with your PHP inside [ php] [ /php] tags, it makes it easier to read(without the space)
There must be more code, because with that, nothing is never being outputted, so the header should work..
That is all
No, that is the only code in quiz.php
Thats why I'm saying that I have no Idea what is wrong.
it doesn't even redirect you, this would be the code of the next page:
I would really appreciates anyone's help, I need to have this done for friday if possible, is there anyway I can upload the files here?
Code: Select all
<?php
$next_q = $_COOKIE["next"];
if ($next_q == ""){
//go to first question
$next_q = 1;
}
$question = "q".$next_q.".php";
header("Location:$question");
?>it doesn't even redirect you, this would be the code of the next page:
Code: Select all
<?php
require_once "../../include/functions.php";
$question = 1;
//Check that question hasn't been answered
$msg = chk_question($next_question);
if ($msg != "") {
$next_question = 1;
}
//Check that at least one response has been entered
if (count($q1) < 2 && $next_question == 2){
$err_msg = "Please select two choices";
$next_question = 1;
}
if (count($q1) > 2 && $next_question == 2){
$err_msg = "Please select only two choices";
$next_question = 1;
}
//Print and record question results
if ($next_question == 2){
$total = count($q1);
for($i = 0; $i < $total; $i++){
$response .= "q1:".$q1[$i];
if ($i < ($total - 1))
$response .= "&";
}
$msg .= "<h4>Answers to Question One:</h4>";
if ($q1[0] == "journal" && $q1[1] == "index") {
$msg .= "<b>You are correct.</b>
Periodical indexes
help you determine which journals have scholarly articles on
your topic.<br>";
$correct = 2;
} else if ($q1[0] == "journal" || $q1[1] == "journal") {
$msg .= "<b>Well, you are half right.</b>
Journals contain scholarly articles. The other correct answer is
the source that indexes those journal articles.<br>";
$correct = 1;
} else if ($q1[0] == "index" || $q1[1] == "index") {
$msg .= "<b>Well, you are half right.</b>
Periodical indexes do help you locate scholarly articles. But
magazines, newspapers and email are not the best sources for
finding scholarly materials.<br>";
$correct = 1;
} else {
$msg .= "<b>Hmmmm.</b>
Neither of these answers are correct. Perhaps the phrase of
"scholarly information" was confusing. An example of scholarly
information is a journal article written by a person who has done
research in their area of expertise. Often these articles are
indexed by periodical indexes so you can easily find them.<br>";
$correct = 0;
}
$response = $_COOKIE["response"];
$response .= "+q1:".$q1[0]."&q1:".$q1[1];
setcookie ("response", $response);
setcookie ("next", "2");
setcookie ("ans[0]", $correct);
$msg .= "<p><div align='center'><a href='quiz.html'>Go on to question 2</a></div></p>";
}
require_once "../../include/quiz_header.html";
?>
<h2>Question One:</h2>
<h3 align="CENTER">
Imagine you have an assignment to write a paper based on scholarly<br>
information. Which would be the most appropriate sources to use?
(Choose two.)</h3>
<form method="POST" action="q1.php">
<div align="CENTER">
<table border="0" width="60%" cellspacing="2" cellpadding="2">
<tr>
<td>
<?php
if ($q1[0] == "journal"):
print "<input type="checkbox" name="q1[]" value="journal" CHECKED>";
else:
print "<input type="checkbox" name="q1[]" value="journal">";
endif;
?>
A. Journal
</tr>
<tr>
<td>
<?php
if ($q1[0] == "Magazine" || $q1[1] == "Magazine" ):
print "<input type="checkbox" name="q1[]" value="Magazine" CHECKED>";
else:
print "<input type="checkbox" name="q1[]" value="Magazine">";
endif;
?>
B. Magazine
</tr>
<tr>
<td>
<?php
if ($q1[0] == "Newspaper" || $q1[1] == "Newspaper" ):
print "<input type="checkbox" name="q1[]" value="Newspaper" CHECKED>";
else:
print "<input type="checkbox" name="q1[]" value="Newspaper">";
endif;
?>
C. Newspaper
</tr>
<tr>
<td>
<?php
if ($q1[0] == "index" || $q1[1] == "index" ):
print "<input type="checkbox" name="q1[]" value="index" CHECKED>";
else:
print "<input type="checkbox" name="q1[]" value="index">";
endif;
?>
D. Periodical index
</tr>
<tr>
<td>
<?php
if ($q1[1] == "email" ):
print "<input type="checkbox" name="q1[]" value="email" CHECKED>";
else:
print "<input type="checkbox" name="q1[]" value="email">";
endif;
?>
E. Email
</tr>
</table>
<p>
<input type="hidden" name ="next_question" value="2">
<?php
if ($msg == ""){
//is msg != "" then the form has been submitted
print "<input type="submit" value="submit">";
}
?>
</p>
</div>
</form>
<?php
//Print error message or results
if ($err_msg != ""){
print "
<script language="JavaScript">
<!--
onLoad=window.alert("$err_msg")
-->
</script>";
}
print "$msg";
require_once "../../include/quiz_footer.html";
?>I made one very simple change and it works for me.
Code: Select all
<?php
$next_q = $_COOKIE["next"];
if (!$next_q){
//go to first question
$next_q = 1;
}
$question = "q".$next_q.".php";
header("Location:$question");
?>Can't spot this...
Can you display what you see if you:
On a sidenote, I personally prefer using isset() and/or empty() when checking values, as:
Can you display what you see if you:
Code: Select all
// change from
$next_q = $_COOKIE["next"];
// to
$next_q = $_COOKIE['next']; // note the change to single quotes
print_r($_COOKIE);
exit;Code: Select all
if (!isset($next_q)){
//go to first question
$next_q = 1;
}I get this:
This is what I get for code:
Error:
Code: Select all
<?php
$next_q = $_COOKIE['next']; // note the change to single quotes
print_r($_COOKIE);
exit;
?>What Could be the problem with the code I have? could it be PHP version or something?Notice: Undefined index: next in c:\inetpub\wwwroot\tilt\module1\quiz\quiz.php on line 2
Array ( [ASPSESSIONIDASBSDRBT] => KIAHOIJBPIBHELBFBGNMPELP )
I tried both
I tried all the things you guys told me and still nothing, I'm getting really frustrated, can anyone tell me a different code that would do the same thing? I would really apreciate any help. Thank You.
I currently get this error:
I currently get this error:
Notice: Undefined index: next in c:\inetpub\wwwroot\tilt\module1\quiz\quiz.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\tilt\module1\quiz\quiz.php:2) in c:\inetpub\wwwroot\tilt\module1\quiz\quiz.php on line 8
...tells you that you have not set $_SESSION['next'] anywhere. So you could try and retype the code mentioned earlier, with something similiar to:Notice: Undefined index: next in c:\inetpub\wwwroot\tilt\module1\quiz\quiz.php on line 2
Array ( [ASPSESSIONIDASBSDRBT] => KIAHOIJBPIBHELBFBGNMPELP )
Code: Select all
if (isset($_SESSION['next'])) {
$foo = $_SESSION['next'];
} else {
$foo = 1;
}