Jag är i desperat behov av att få det här löst så jag hoppas att ni kan hjälpa mig. Scriptet svarar inte mot formuläret
Oavsett i vilket fält jag matar in data i i mitt formulär så skriver scriptet 'please enter a value in the form or something' vilket borde uppfatts som att det enligt scriptet inte finns någon data i formuläret. Vad är det som saknas?
(!isset($_POST['submit'])) var tidigare satt till (!isset($query)), fick tips om att sätta $query högst upp i scriptet vilket ledde till att 'whole serach string' och 'getting data' matades ut istället
if (!isset($_POST['submit'])) {
echo 'please enter a value in the form or something';
exit;
}
echo "whole search string:<br/>";
print $query;
echo "<br />getting data: <br />";
Är grön på det här och personen som har hjälpt mig med större delen av scriptet kommer inte på felet.
Ber om ursäkt för om jag postar mer kod än vad som är behövligt.
Jodå, har fyllt i anslutningsdetaljerna.
PHP
//skapa lokal anslutning till MySQL server
$location = "";
$username = "";
$password = "";
$database = "";
$conn = $conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
if ($_POST['publisher'] != "") {
echo '<br />publisher<br />';
$substr_source = "(SELECT source_id FROM source WHERE publisher LIKE '%{$_POST['publisher']}%')";
}
if ($_POST['rating']!=""){
echo '<br />rating<br />';
$substr_comment = "(SELECT comm_id FROM comment WHERE rating >= '{$_POST['rating']}'";
}
if ($_POST['paper_number']!="") {
echo '<br />paper number<br />';
$substr_document = "(SELECT paper_number FROM document WHERE paper_number LIKE '%{$_POST['paper_number']}%')";
}
if (!empty($_POST['au_lname'])|| !empty($_POST['au_fname']))
{
$str = "SELECT au_id FROM author WHERE;
if (!empty(POST['au_lname']))
str .= lname LIKE '%{$_POST['au_lname']}%'";
if (!empty($_POST['au_fname']))
{
$str .= "fname LIKE '%{$_POST['au_fname']}%'";
}
if (!empty($_POST['au_fname']))
{$str .= "AND";}
if (!empty($_POST['au_lname']))
$str .= "lname LIKE '%{$_POST['au_lname']}%'";
}
$where = array();
if (!empty($_POST['title1'])) {
$where['title1'] = "title1 LIKE '%{$_POST['var1']}%'";
}
if (!empty($_POST['title2'])) {
$where['title2'] = "title2 LIKE '%{$_POST['title2']}%'";
}
if (!empty($_POST['title3'])) {
$where['title3'] = "title3 LIKE '%{$_POST['title3']}%'";
}
$delimiter=isset($_POST['delimiter']) ? $_POST['delimiter'] : "AND";
$where = empty($where) ? 1 : implode ("$delimiter", $where);
$str = "SELECT doc_id FROM document WHERE $where";
if ($_POST['conference'] !="") {
echo '<br />conference<br />';
$substr_conf = "(SELECT conf_id FROM conference WHERE conf_name LIKE '%{$_POST['conference']}%')";
}
//to search a substring: LIKE '%{$_POST['conference']}%'
if (($_POST['journal'] != "") ||
($_POST['volume'] != "") ||
($_POST['isbn']!="") ||
($_POST['issn']!="") ||
(isset($substr_konf))) {
$and = 0;
$sub_tid = "(SELECT source_id FROM source WHERE ";
if ($_POST['volume'] != "") {
$sub_tid .= "volume={$_POST['volume']}";
$and = 1;
}
if ($_POST['isbn']!="") {
if ($and == 1)
$sub_tid .= " AND ";
else
$and = 1;
$sub_tid .= "ISBN={$_POST['isbn']}";
}
if ($_POST['issn']!="") {
if ($and == 1)
$sub_tid .= " AND ";
else
$and = 1;
$sub_tid = "ISSN={$_POST['issn']}";
}
if (isset($substr_conf)) {
if ($and == 1)
$sub_tid .= " AND ";
$sub_tid .= "conference IN {$substr_conf}";
}
$sub_tid .= ")";
echo $sub_tid;
}
if (($_POST['title'] != "") || (isset($sub_tid)) || (isset($sub_au))) {
echo '<br /><br />Title and date<br />';
$and = 0;
$query = "SELECT * FROM document WHERE ";
if ($_POST['title'] != "") {
$and = 1;
$query .= "title LIKE '%{$_POST['title']}%'";
}
if (($_POST['ar']!= "") && ($_POST['month']!= "") && ($_POST['day'])!="") {
//kollar om det är nummer, om de alla är nummer så lägg till det, annars låt va
if (is_numeric($_POST['ar']) && is_numeric($_POST['month']) && is_numeric($_POST['day'])) {
if ($and == 1)
$query = " AND ";
else
$and = 1;
$year = "";
if (strlen($_POST['ar']) < 2) {
if (intval($_POST['ar']) < 10)
$year .= "20";
else
$year .= "19";
}
echo $year;
$year .= "{$_POST['ar']}-{$_POST['month']}-{$_POST['day']}";
//19xx-yy-zz
}
}
if (isset($sub_tid)) {
if ($and == 1)
$query .= " AND ";
else
$and = 1;
$query .= "source_id IN {$sub_tid}";
}
if (isset($sub_au)) {
if ($and == 1)
$query .= " AND ";
$query .= "au_id IN ({$sub_au})";
}
}
if (!isset($_POST['submit'])) {
echo 'please enter a value in the form or something';
exit;
}
echo "whole search string:<br/>";
print $query;
echo "<br />getting data: <br />";
$sql = mysql_query($query);
if (!$sql) {
die('Invalid query: ' . mysql_error());
}
$doc_id= mysql_num_rows($sql);
if($doc_id > 0){
print_r($sql);
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
echo '<tr>';
echo '<td>';
echo $titel; echo '<br /';
echo '<td />';
echo '<tr />';
print "Författare: {$au_lname} , {$au_fname} , titel:{$title}
tidskrift: {$journal} , konferens:{$conference} , utgivare:{$publisher}, utgivningsort:{$publishing_city} ,
år:{$year} , volym:{$volume} , ISBN:{$isbn} , ISSN:{ISSN} , betyg:{$rating}";
//Hämta data, använd $PK? för att hämta vad som ska visas
//$data_query = "SELECT * FROM source WHERE source_id={$source_id}";
//$data_sql = mysql_query($data_query);
// if (!$data_sql) {
// die('Invalid query: ' . mysql_error());
//while($data_row = mysql_fetch_array($data_sql)) {
// foreach( $data_row AS $key => $val ){
// $$key = stripslashes( $val );
// }
//ORDER BY author ASC , year DESC
//ORDER BY rating DESC
}
}
else {
echo "didn't get any rows";
}
HTML
<html>
<body>
<form method="post" name="query" action="process_query.php">
<br>Automatiskt OCH mellan fälten<br/>
<table>
<tr>Författarens efternamn: <input type="text" name="forf_enamn" size ="20"/><tr/>
<tr>Författarens förnamn: <input type="text" name="forf_fnamn" size ="20" /><tr/>
<tr>Titel: <input type="text" name="titel" size ="20" />
<input type="radio" name="delimiter" value="AND" />AND
<input type="radio" name="delimiter" value="OR">OR
<tr/>
<tr>Konferens: <input type="text" name="konferens" size ="20" /><tr/>
<tr>Tidskrift: <input type="text" name="tidskrift" size ="20" /><tr/>
<tr>Volym: <input type="text" name="volym" size ="20" /><tr/>
<tr>År: <input type="text" name="ar" size ="1" maxlength="4"/> -
<input type="text" name="month" size ="1" maxlength="2"/> -
<input type="text" name="day" size ="1" maxlength="2"/> (year-month-day)<tr/>
<tr>Utgivare: <input type="text" name="utgivare" size ="20" /><tr/>
<tr>ISBN: <input type="text" name="isbn" size ="20" /><tr/>
<tr>ISSN: <input type="text" name="issn" size ="20" /><tr/>
<tr>Page number: <input type="text" name="paper" size ="20"/><tr/>
<tr>Betyg: <input type="text" name="betyg" size ="20" /><tr/>
<tr><input type="submit" value="Skicka"> <input type="reset" value="Töm"><tr/>
</table>
</form>
</body>
</html>