Tom: Problem mit explode()

Beitrag lesen

Hello,

da stecken aber noch eine Menge Fehler und Überflüssigkeiten im Script.

<?php
session_start();
$username = $_SESSION['username'];
$user = $_GET['username'];

warum wurde hier umkopiert?

den folgenden Block solltest Du auslagern, außerhalb der Document Root speichern

und mit require_once() einlesen.

define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'XX' );
define ( 'MYSQL_KENNWORT', 'XX' );
define ( 'MYSQL_DATENBANK', 'XX' );

$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
    die('keine Verbindung zur Zeit möglich - später probieren ');
}

#> $db_sel = mysql_select_db(scrapen)

wohl eher:

#   $db_sel = mysql_select_db('scrapen')

oder

$db_sel = mysql_select_db(MYSQL_DATENBANK)
     or die("Auswahl der Datenbank fehlgeschlagen");

$sql = "
    SELECT
        *
    FROM freunde
    WHERE username = '$username'
    ORDER BY id
";

wie ist $username in die Session gekommen?

Ist die Variable bereits kontextgerecht behandelt worden?

siehe [link:http://de3.php.net/manual/de/function.mysql-real-escape-string.php]

und [link:http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel]

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
    die('Ungültige Abfrage: ' . mysql_error());
}

Scripte sollte man im produktiven Betrieb nicht sterben lassen und

insbesondere keine Interna an den User ausgeben.

mysql_error() gehört also ins Log, dem User sollte man eine kurze

Entschuldigung mit Rücklink zum Projekt senden

$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Deine Freunde:<b>$anzahl_eintraege </b> </p>";

while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
    extract($daten);

extract() ist hässlich. Greife direkt auf die Elemente des Ergenisarrays zu.

echo "                    $id
                              $username
                              $freund
                              <br>

";

}
mysql_free_result( $db_erg );
$array = explode('-', $freund);
foreach ($array as $element) {
echo '$element<br>';
}
?>

  
  
Das, was ich angemeckert habe, muss nicht unbedingt alles gewesen sein, was Du korrigieren solltest, aber für den Anfang reicht es erstmal :-)  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>