Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich bin auf der Suche nach meinem Fehler. Ich habe eine Ausgabe aus einer Datenbank, die möchte ich als Variable auf die nächste Seite bringen. Da ich aber eine index.php als Grundlage nutze und alle anderen Seite mit Hilfe der Includierung einfüge, scheint es Proble zu geben.

index.php:

[..]

			     <?php
if(empty($_GET['seite']))
$_GET['seite'] = "index";
if(file_exists("inc/".$_GET['seite'].".php"))
{
include("inc/".$_GET['seite'].".php");
}
else
{
include("inc/error.php");
}


?>[/PHP]

[..]

Da wird die userlist.php eingefüht:

[PHP]<?php
error_reporting(E_ALL);
include("connect.inc.php");

echo "<table>";
echo " <tr>\n";
echo " <td>\n";
echo "Nickname\n";
echo " </td>\n";
echo " <td>\n";
echo "Registrierungsdatum\n";
echo " </td>\n";
echo " <td>\n";
echo "Letzter Login\n";
echo " </td>\n";
echo " <td>\n";
echo " \n";
echo " </td>\n";
echo " </tr>\n";

$sql = "SELECT
ID,
SessionID,
Nickname,
DATE_FORMAT(Registrierungsdatum, '%d.%m.%Y') as Datum,
Letzter_Login,
Letzte_Aktion
FROM
User
ORDER BY
Nickname ASC
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());

while ($row = mysql_fetch_assoc($result)) {
// existiert eine Session ID und der User
// war nicht länger als 2 Minuten inaktiv, so wird er als online betrachtet
if($row['SessionID'] AND (time()-60*2 < $row['Letzte_Aktion']))
$online = "<span style=\"color:green\">online</span>\n";
else
$online = "<span style=\"color:red\">offline</span>\n";
echo " <tr>\n";
echo " <td>\n";
echo "<a href=\"?seite=profil?id=".$row['ID']."\">".$row['Nickname']."</a>\n";
echo " </td>\n";
echo " <td>\n";
echo $row['Datum']."\n";
echo " </td>\n";
echo " <td>\n";
echo date('d.m.Y H:i \U\h\r', $row['Letzter_Login'])."\n";
echo " </td>\n";
echo " <td>\n";
echo $online;
echo " </td>\n";
echo " </tr>\n";
}
echo "</table>";
?>

wenn jetzt die ID an die URL angehangen werden soll, kommt so etwas bei raus:

http://www.seite.de/?seite=profil?id=1

und da .. profil?id=1 als dateiname angesehen wird, findet er die datei profile.php nicht und kann somit auch den wert 1 (in diesem fall) nicht übermitteln.

Wie kann cih das Problem umgehen, oder die komplette include-Funktion rauschlassen zu müssen?

Besten Dank an alle die Helfen wollen udn können =)

LG Oct

Bearbeitet von Octavian

Hallo Octavian

wenn jetzt die ID an die URL angehangen werden soll, kommt so etwas bei raus:


http://www.seite.de/?seite=profil?id=1
Da sieht man den Fehler recht deutlich. GET-Variablen in einer URL wreden mit einem & verknüpft und nicht mit einem Fragezeichen. Es müsste also so aussehen:
http://www.seite.de/?seite=profil&id=1

In deinem PHP-code findet sich der Fehler in Zeile 44 der userlist.php:

 echo "<a href=\"?seite=profil?id=".$row['ID']."\">".$row['Nickname']."</a>\n";

Wenn du das änderst in:

 //Beachte das & welches statt dem ? nach profil steht!
echo "<a href=\"?seite=profil&id=".$row['ID']."\">".$row['Nickname']."</a>\n";[/PHP]

sollte es funktionieren.

Hoffe Ich konnte Helfen.

Gruß Shogoki

Hallo Frank,

Shogoki hat den Fehler gefunden ^^ich wusste nicht, dass man nach der ersten Wertübergabe mit dem "?" danach das "&" kommt =) Ich hab das auch gleich mal nachgelesen und jetzt verstehe ich auch wie sich das zusammensetzt. Aber wenn man einfach nur so rumbastelt um sich etwas anzueignen kann man auf anhieb nicht alles kennen.. vielleicht auch sehr viel später nicht.

Besten Dank an euch beiden. Mal sehen wann sich die nächsten Porbleme bei mir aufmerksam machen =)

LG

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.