php und Session Login
ist esdenn nicht möglcih das ganze in eine datenbank zu packen? eine neue datenbankverbindun öfnnen ist schwiedrig, da du die vom phpBB dann schließen müsstest und danach wieder aufrufen, was sehr umständlich ist...
wenn du das ganze jetzt mit einem neuen präfix in die gleiche datenbank steckst ist das alles kein problem. (präfix wegen des überblickes.)
z.B.:
new_tabelle1
wenn du das ganze jetzt mit einem neuen präfix in die gleiche datenbank steckst ist das alles kein problem. (präfix wegen des überblickes.)
z.B.:
new_tabelle1
Hallo,
ich habe gerade mal versucht das Script ohne phpbb zum laufen zu bringen (Loginscript funktioniert nun). Nur leider habe ich noch ein Problem mit dem Übertragen der Daten.
Aber wie immer finde ich blinder Fisch den Fehler nicht.
Hier ist die Probeversion installiert: http://sts.redio.de/
das Admininterface (um Einträge zu erzeugen) ist mit Passwort verlinkt...
Quellentext search.php
Danke schon einmal im Vorraus
ich habe gerade mal versucht das Script ohne phpbb zum laufen zu bringen (Loginscript funktioniert nun). Nur leider habe ich noch ein Problem mit dem Übertragen der Daten.
Aber wie immer finde ich blinder Fisch den Fehler nicht.
Hier ist die Probeversion installiert: http://sts.redio.de/
das Admininterface (um Einträge zu erzeugen) ist mit Passwort verlinkt...
Quellentext search.php
Code: Alles auswählen
<?php print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<table width="60%" border="1" align="center" cellpadding="3" cellspacing="0">
<tr>
<td width="46%"><select name="selection0" onChange="location.href='search.php?cat='+this[this.selectedIndex].value">
<?php if(isset($cat)) { $test = $cat; } else { $test = "Bitte auswählen"; } ?>
<option value="<?php print $test; ?>" selected="selected"><?php print $test; ?></option>
<?php include("functions.php"); showcat('art', 'prod'); ?>
</select>
</td>
<td width="54%">Geräteart auswählen</td>
</tr>
<tr>
<td><select name="selection1" onChange="location.href='search.php?<?php print "cat=$cat&key="; ?>'+this[this.selectedIndex].value">
<?php if(isset($key)) { $test1 = $key; } else { $test1 = "Bitte auswählen"; } ?>
<option value="<?php print $test1; ?>" selected="selected"><?php print $test1; ?></option>
<?php
include("config.php");
$link = mysql_connect($hostname, $benutzer, $passwort);
if(!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select distinct hersteller from prod where art = '$cat' ");
while($row = mysql_fetch_array($res)) {
print "<option value=\"".$row["hersteller"]."\">".$row["hersteller"]."</option>";
}
mysql_close($link);
?>
</select>
</td>
<td>Hersteller auswählen</td>
</tr>
<tr>
<td><select name="selection2" onChange="location.href='search.php?<?php print "cat=$cat&key=$key&mod="; ?>'+this[this.selectedIndex].value">
<?php if(isset($mod)) { $test1 = $mod; } else { $test1 = "Bitte auswählen"; } ?>
<option value="" selected="selected"><?php print $test1; ?></option>
<?php
include("config.php");
$link = mysql_connect($hostname, $benutzer, $passwort);
if(!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select modell from prod where hersteller = '$key'");
while($row = mysql_fetch_array($res)) {
print "<option value=\"".$row["modell"]."\">".$row["modell"]."</option>";
}
mysql_close($link);
?>
</select>
</td>
<td>Modell auswählen</td>
</tr>
</table>
<br />
<?php
if(isset($_GET["mod"])) {
print "
<table width=\"80%\" border=\"1\" align=\"center\" cellpadding=\"3\" cellspacing=\"0\">";
$link = mysql_connect($hostname, $benutzer, $passwort);
if(!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select bauglmod, id from prod where modell = '$mod' ");
while($row = mysql_fetch_array($res)) {
$id = $row["id"];
$bglm = $row["bauglmod"];
}
print "
<tr>
<td colspan=\"2\"><b>Baugleiche/ähnliche Modelle:</b><br /><br />
";
$array = explode("\n",$bglm);
for($x = 0; $x < count($array); $x++) {
$srchmod = strchr($array[$x], " ");
if($srchmod) {
sscanf($array[$x], "%s", $srchkey);
print "<a href=\"search.php?cat=".$cat."&key=".$srchkey."&mod=".trim($srchmod)."\">".trim($array[$x])."</a><br />";
} else {
print $array[$x]."<br />";
}
}
print "
</td>
</tr>
";
$res = mysql_db_query($db, "select error, solution from rep where matchcode = '$id' ");
print "
<tr>
<td width=\"50%\"><b>Mögliche Fehler:</b></td>
<td><b>Ursachen/Lösungswege:</b></td>
</tr>
";
while($row = mysql_fetch_array($res)) {
$bug = nl2br($row["error"]);
$sol = nl2br($row["solution"]);
print "
<tr>
<td>$bug</td>
<td>$sol</td>
</tr>
";
}
print "
</table>
";
}
?>
<p><a href="login.php">Admin Login</a> <br>(User: hans Passwort: dampf)</p>
</body>
</html>
Mir ist gerade noch von vorhin ein Fehler in der login.php aufgefallen. Dort wo die Weiterleitung zu admin.php ist, steht session_id. Dies muss durch session_id() ersezt werden.
Aber was ist jetzt dein aktuelles Problem? Verstehe ich nicht ganz.
greetz
Aber was ist jetzt dein aktuelles Problem? Verstehe ich nicht ganz.
greetz
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.
also erstmal: warum baust du 3x eine verbindung zur datenbank auf??? mach das doch ganz am anfang der datei einmal... außerdem würde ich dateien die included werden auch an den anfang stellen... falls du den inhalt dieser vorher nämlich nochmal brauchst, musst du sie nicht 2x includen.
dann: was bewirkt folgendes? du hast leider den inhalt der function.php nicht zur verfügung gestellt.
zusätzlich lassen deine variabel-bezeichnungen zu wünschen übrig.. ist ist leider sehr schwer sich zurecht zu finden.
z.B. hätte folgendes vollkommen gereicht, sofern du die verbindung zur DB am anfang aufgebaut hättest...
außerdem meine ich mcih erinnern zu können, dass das
so aussehen muss:
edit
ach und mir fiel gerade auf, dass du vergessen hast $cat(siehe Zeile 12) zu definieren:
dann: was bewirkt folgendes? du hast leider den inhalt der function.php nicht zur verfügung gestellt.
Code: Alles auswählen
showcat('art', 'prod')
das ist das, was mir bis jetzt so auffällt... ich guck noch mal weiter, aber stat dessen$test, $test1,[...]
Code: Alles auswählen
<?php
include("config.php");
$link = mysql_connect($hostname, $benutzer, $passwort);
if(!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select distinct hersteller from prod where art = '$cat' ");
while($row = mysql_fetch_array($res)) {
print "<option value=\"".$row["hersteller"]."\">".$row["hersteller"]."</option>";
}
mysql_close($link);
?>
Code: Alles auswählen
<?php
$res = mysql_db_query($db, "select distinct hersteller from prod where art = '$cat' ");
while($row = mysql_fetch_array($res)) {
print "<option value=\"".$row["hersteller"]."\">".$row["hersteller"]."</option>";
}
?>
Code: Alles auswählen
print "<option value=\"".$row["hersteller"]."\">".$row["hersteller"]."</option>";
Code: Alles auswählen
print "<option value=\"".$row->hersteller."\">".$row->hersteller."</option>";
ach und mir fiel gerade auf, dass du vergessen hast $cat(siehe Zeile 12) zu definieren:
Code: Alles auswählen
$cat = $_POST["cat"];
Hallo AmShaegar,
vielen Dank für die Hilfe, ich bin leider noch blutiger Anfänger was das kompl. Selbermachen angeht.
Ich bin auch schon Stückchenweise weitergekommen, aber es fehlt halt am Hintergrundwissen und an der Erfahrung. Denn bekanntlich ist erfahrung durch nichts zu ersetzten als durch noch mehr erfahrung.
Hier schon einmal die:
funktions.php
vielen Dank für die Hilfe, ich bin leider noch blutiger Anfänger was das kompl. Selbermachen angeht.
Ich bin auch schon Stückchenweise weitergekommen, aber es fehlt halt am Hintergrundwissen und an der Erfahrung. Denn bekanntlich ist erfahrung durch nichts zu ersetzten als durch noch mehr erfahrung.
Hier schon einmal die:
funktions.php
Code: Alles auswählen
<?php
// Wandle Adressen in klickbare Urls um
function urlclick($text) {
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
return preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=\"_blank\"><u>\\2\\3</u></a>\\4",$text);
}
// Füge Einträge in select Menü ein
function showcat($field, $table) {
include("config.php");
$link = mysql_connect($hostname, $benutzer, $passwort);
if (!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select distinct $field from $table");
while($row = mysql_fetch_array($res)) {
print "<option value=\"$row[$field]\">$row[$field]</option>";
}
mysql_close($link);
}
// Füge Einträge in select Menü ein
function showwhere($field, $table, $condition) {
include("config.php");
$link = mysql_connect($hostname, $benutzer, $passwort);
if (!$link) {
die("<strong>Kann den Server nicht erreichen.</strong>");
}else{
mysql_select_db($db) or die ("<strong>Konnte Datenbank nicht öffnen: </strong>".mysql_error() );
}
$res = mysql_db_query($db, "select distinct $field from $table where $condition");
while($row = mysql_fetch_array($res)) {
print "$row[$field]";
}
mysql_close($link);
}
?>
ich meine, dass du die variable $cat ausgeben willst und zwar in das select menü.. außerdem brauchst du diese ja, um die dazugehörigen einträge im näachsten menü abzufragen.. das problem ist, dass die varible leer ist, da du sie nicht definiert hast. das erste mal wo sie auftauch bekommt sie keinen wet zugewiesen sondern wird auf ihren inhalt geprüft, der folglich nicht vorhanden sein kann.