axel01
|
User
|
|
registriert
|
30.01.2012
|
wohnt in
|
Dorsten
|
Beiträge
|
3
|
|
Hallo!
Ich bin noch ein ziemlicher Anfänger, habe aber jetzt das Problem, dass ich eine bisher unter php4 funktionierende Datenbank unter php5 mit standardmäßigem "register_globals = off" zum Laufen bringen muss.
Jetzt komme ich leider alleine nicht mehr weiter.
Ich habe jetzt alle Variablen umgeschrieben in $_POST['var'], deren Umschreibungen nicht neue Fehler produziert haben. Ich bin mir nicht sicher, ob ich alles richtig gemacht habe, aber jedenfalls sind jetzt keine neuen Fehler entstanden und es läuft weiterhin unter php4 und php5 mit "register_globals = on".
Vielleicht habe ich auch etwas übersehen, oder da sind Variablen, wo man GET machen muss?
Auch habe ich $PHP_SELF durch $_SERVER["PHP_SELF"] ersetzt.
Hauptproblem ist immer noch, dass man- wenn ich php5 aktiviere (.htaccess) bzw. register_globals auf off stelle (php.ini) - nicht in die Branchen hinein kommt. Man wird immer zurück auf den Index geworfen. Das hat sich nach den ganzen Änderungen nicht geändert.
Könnt ihr mir vielleicht auf die Sprünge zu helfen?
Hier der Code:
PHP:
error_reporting(-1);
ini_set('display_errors', 1);
$mysqlhost = "XXX";
$mysqluser = "XXX";
$mysqlpass = "XXX";
$mysqldb = "XXX";
/************************************************************************
$aktuellebranche ist die ID der aktuellen Branche
$seite auf dieser Seite ist man
*************************************************************************/
if ($aktuellebranche == "")
{
$aktuellebranche = 0;
}
if ($seite == "")
{
$seite = 1;
}
if ($suche)
echo "<a href=".$_SERVER["PHP_SELF"].">zurück zum Index</a>";
else
echo "<a href=".$_SERVER["PHP_SELF"].">Index</a>";
$durch = $aktuellebranche;
$verbind = mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
while (($durch != 0) && (!$suche))
{
if (!$verbind)
die("Kann den Server nicht erreichen, stimmen Username Passwort und Adresse ?");
if (!mysql_select_db($mysqldb, $verbind))
die("Kann die Datenbank nicht anwählen, Stimmt der Name ?");
$query = "SELECT BName,BId,Cof FROM Branchen WHERE BId=".$durch;
$ergebniss = mysql_query($query, $verbind);
if (!$ergebniss)
{
print mysql_error();
die(" Query $query funktioniert nicht !");
}
if ($bekommen = mysql_fetch_array($ergebniss))
{
$ergebnisname = " - <a href=\"".$_SERVER["PHP_SELF"]."?aktuellebranche=".$bekommen[1]."\">".$bekommen[0]."</a>".$ergebnisname;
$durch = $bekommen[2];
}
else
{
die();
}
mysql_free_result($ergebniss);
}
mysql_close($verbind);
if (!$suche)
echo $ergebnisname;
$verbind = mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
if (!$verbind)
die("Kann den Server nicht erreichen, stimmen Username Passwort und Adresse ?");
if (!mysql_select_db($mysqldb, $verbind))
die("Kann die Datenbank nicht anwählen, Stimmt der Name ?");
$limitanfang = ($seite - 1) * 10; // fängt bei 0 an , geht bis x;
$limitende = $seite * 10;
if (!$suche)
$query = "SELECT a.Id, a.Paket, a.Name, a.Plz, a.Stadt, a.Stadtteil, a.Strasse, a.Telefon1, a.Telefax, a.Url, a.Email FROM Firmen a, BranchenIndex b WHERE b.Firma = a.Id AND b.Branche = ".$aktuellebranche." ORDER BY a.Paket DESC, a.Name LIMIT ".$limitanfang.",11";
else {
$query = "SELECT a.Id, a.Paket, a.Name, a.Plz, a.Stadt, a.Stadtteil, a.Strasse, a.Telefon1, a.Telefax, a.Url, a.Email FROM Firmen a";
if ($suchebranche)
$query = $query.", BranchenIndex b, Branchen c";
if ($sucheprodukt) {
$i = 0;
$query = $query." WHERE a.Paket >= 3";
$pieces = explode (" ", $sucheprodukt);
while ($pieces[$i] != "") {
$query = $query.' AND a.Produkte LIKE "%'.$pieces[$i].'%"';
$i = $i + 1;
} //ENDE WHILE
} // ENDE IF sucheprodukte
if ($suchefirma) {
$i = 0;
$pieces = explode (" ", $suchefirma);
if (!$sucheprodukt) {
$query = $query.' WHERE a.Name LIKE "%'.$pieces[$i].'%"';
$i = $i + 1;
}
while ($pieces[$i] != "") {
$query = $query.' AND a.Name LIKE "%'.$pieces[$i].'%"';
$i = $i + 1;
} //ENDE WHILE
} //ENDE IF suchefirma
if ($suchebranche) {
if ((!$sucheprodukt) && (!$suchefirma))
$query = $query.' WHERE a.Id = b.Firma AND b.Branche = c.BId';
else
$query = $query.' AND a.Id = b.Firma AND b.Branche = c.BId';
$i = 0;
$pieces = explode (" ", $suchebranche);
while ($pieces[$i] != "") {
$query = $query.' AND c.BName LIKE "%'.$pieces[$i].'%"';
$i = $i + 1;
} //ENDE WHILE
} // ENDE IF suchebranche
$query = $query." ORDER BY a.Paket DESC, a.Name LIMIT ".$limitanfang.",11";
// echo $query;
}
$ergebniss = mysql_query($query, $verbind);
if ((mysql_affected_rows($verbind) == 0) && $suche)
echo '<font face="Arial, Helvetica" size="2" color="#366A6A"><b>Ihre Suche hat leider keine Treffer ergeben.</b></font><font face="Arial, Helvetica" size="2"><br><br> Bitte versuchen Sie Ihre Suche mit anderen Begriffen zu optimieren<br>oder nutzen Sie alternativ den Branchenindex!<br></font>';
if (!$ergebniss)
{
print mysql_error();
die(" Query $query funktioniert nicht !");
}
$durchmeiernbeschiss = 1;
while ($bekommen = mysql_fetch_array($ergebniss)){
if ($durchmeiernbeschiss != 11) {
echo '<table border="0" cellspacing="0" cellpadding="0">';
if ($bekommen[1] >= 3) // I für grosse Pakete
echo '<tr><td rowspan="2" valign="top"><a href="unternehmen_dorstener_firmen_detailansicht.php?id='.$bekommen[0].'"><img src="images/information.gif" width="26" height="26" vspace="2" border=0></a><br><img src="images/pix_blank.gif" width="30" height="1"></td><td><img src="images/pix_blank.gif" width="1" height="1"></td></tr>';
else
echo '<tr><td rowspan="2" valign="top"><br><img src="images/pix_blank.gif" width="30" height="1"></td><td><img src="images/pix_blank.gif" width="1" height="1"></td></tr>';
echo '<tr><td valign="top"><font size="2" face="Arial, Helvetica">';
echo "<b>".$bekommen[2]."</b><br>";
echo $bekommen[6]."<br>";
echo $bekommen[3]." ".$bekommen[4];
if ($bekommen[5] != "")
echo "-".$bekommen[5];
echo "<br>";
if ($bekommen[7])
echo "Telefon: ".$bekommen[7];
if ($bekommen[8])
echo " Telefax: ".$bekommen[8];
echo "<br>";
if ($bekommen[1] >= 2) {
echo "<a href='http://".$bekommen[9]."' target='_blank'>".$bekommen[9]."</a><br>";
echo "<a href='mailto:".$bekommen[10]."'>".$bekommen[10]."</a>";
}
else {
echo $bekommen[9]."<br>";
echo $bekommen[10];
}
echo "</tr></table><br>";
$durchmeiernbeschiss++;
}
} // WHILE zu ende
mysql_close($verbind);
?>
<br>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<?
if ($limitanfang != 0)
{
$seite2 = $seite;
$seite2--;
if (!$suche)
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&aktuellebranche='.$_POST['aktuellebranche'].'"><img src="images/zurueck.gif" width="12" height="12" hspace="10" border="0"></a></td>';
else
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&suche=1&suchefirma='.$_POST['suchefirma'].'&sucheprodukt='.$_POST['sucheprodukt'].'&suchebranche='.$_POST['suchebranche'].'"><img src="images/zurueck.gif" width="12" height="12" hspace="10" border="0"></a></td>';
echo '<td> <div align="right"><font face="Arial, Helvetica" size="1"><a href="';
if (!$suche)
echo ''.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&aktuellebranche='.$_POST['aktuellebranche'].'">zurück</a></font></div></td><td><img src="images/pix_blank.gif" width="1" height="1" hspace="5"></td>';
else
echo ''.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&suche=1&suchefirma='.$_POST['suchefirma'].'&sucheprodukt='.$_POST['sucheprodukt'].'&suchebranche='.$_POST['suchebranche'].'">zurück</a></font></div></td><td><img src="images/pix_blank.gif" width="1" height="1" hspace="5"></td>';
echo "\n";
}
else
{
echo '<td></td><td></td><td><img src="images/pix_blank.gif" width="1" height="1" hspace="5"></td>';
}
if ($durchmeiernbeschiss == 11)
{
$seite2 = $seite;
$seite2++;
if (!$suche)
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&aktuellebranche='.$_POST['aktuellebranche'].'"><font size="1" face="Arial, Helvetica">weiter</font></a></td>';
else
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&suche=1&suchefirma='.$_POST['suchefirma'].'&sucheprodukt='.$_POST['sucheprodukt'].'&suchebranche='.$_POST['suchebranche'].'"><font size="1" face="Arial, Helvetica">weiter</font></a></td>';
if (!$suche)
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&aktuellebranche='.$_POST['aktuellebranche'].'"><img src="images/weiter.gif" width="12" height="12" hspace="10" border="0"></a></td>';
else
echo '<td><a href="'.$_SERVER["PHP_SELF"].'?seite='.$_POST['seite2'].'&suche=1&suchefirma='.$_POST['suchefirma'].'&sucheprodukt='.$_POST['sucheprodukt'].'&suchebranche='.$_POST['suchebranche'].'"><img src="images/weiter.gif" width="12" height="12" hspace="10" border="0"></a></td>';
}
else
{
echo '<td></td>';
echo '<td></td>';
echo "\n";
Das ganze sieht funktionierend unter php4 so aus: http://www.meindorsten.de/dorstenerfirmen.php4
unter folgender Testseite sieht man auch die Fehlermeldungen:
http://www.meindorsten.de/dorstenerfirmen2.php4
Vielen Dank schon mal im voraus!
Gruß
Axel Brepohl
Dieser Beitrag wurde am 31.01.2012 um 09:47:49 Uhr von axel01 zum 8. Mal editiert.
|
axel01
|
User
|
|
registriert
|
30.01.2012
|
wohnt in
|
Dorsten
|
Beiträge
|
3
|
|
Hallo!
Das ist vielleicht zuviel erwartet und zuviel Code, oder?
Es reicht mir schon, wenn man mir bei dem einen einzigen Problem helfen könnte, dass man in Unterbranchen hinein kommt und nicht immer zurück auf den Index geworfen wird.
Um alles andere (undefined variable und so) kümmere ich mich dann noch.
Dafür braucht man ja dann nur diesen Code:
PHP:
if ($aktuellebranche == "")
{
$aktuellebranche = 0;
}
if ($seite == "")
{
$seite = 1;
}
if ($suche)
echo "<a href=".$_SERVER["PHP_SELF"].">zurück zum Index</a>";
else
echo "<a href=".$_SERVER["PHP_SELF"].">Index</a>";
$durch = $aktuellebranche;
$verbind = mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
while (($durch != 0) && (!$suche))
{
if (!$verbind)
die("Kann den Server nicht erreichen, stimmen Username Passwort und Adresse ?");
if (!mysql_select_db($mysqldb, $verbind))
die("Kann die Datenbank nicht anwählen, Stimmt der Name ?");
$query = "SELECT BName,BId,Cof FROM Branchen WHERE BId=".$durch;
$ergebniss = mysql_query($query, $verbind);
if (!$ergebniss)
{
print mysql_error();
die(" Query $query funktioniert nicht !");
}
if ($bekommen = mysql_fetch_array($ergebniss))
{
$ergebnisname = " - <a href=\"".$_SERVER["PHP_SELF"]."?aktuellebranche=".$bekommen[1]."\">".$bekommen[0]."</a>".$ergebnisname;
$durch = $bekommen[2];
}
else
{
die();
}
mysql_free_result($ergebniss);
}
mysql_close($verbind);
if (!$suche)
echo $ergebnisname;
Danke und Gruß
Axel
Dieser Beitrag wurde am 31.01.2012 um 14:23:47 Uhr von axel01 zum 3. Mal editiert.
|