Datenbankspalte leeren

Wenn du jetzt noch die UserID dranhängn willst, musst du es noch so erweitern:

PHP:
echo "<td align=left><a style=\"color:blue;\" href=\"".$deleteA.deleteB.$row['field16'].".png&userid=" .$userid ."\">Löschen</a></td>";

Es geht nicht.

Ich bekomme einige Fehler das ich kein Zugriff auf die Datenbank hätte usw.

Ich habe mal als erstes die userid Variable ausgelesen.

delete.php
PHP:
echo ".$userid.";

Da steht nur ".." drin.
 
Also du musst notfalls natürlich in dem Link die von mir eingetragene Variable $userid durch eine gültige ersetzten!

In der "delete.php" solltest /musst du dann $_GET["userid"] verwenden!

Was den Fehler in der Datenbank auslöst? Keine Ahnung. Hast du daran was verändert?
 
Dieser Code erzeugt den korrekten Link und übergibt die Werte "img" und "userid" an die Datei "delete.php"

PHP:
<?php
$deleteA = "./delete.php?img=";
$deleteB = "../Avatare/Avatar-";

//die nächsten 2 Variablen werden hier mit Beispieldaten belegt damit der Code richtig ausgeführt wird!
$row['field16'] = "bl5000";
$userid = "4";

echo "<td align=left><a style=\"color:blue;\" href=\"".$deleteA.$deleteB.$row['field16'].".png&userid=" .$userid ."\">Löschen</a></td>";
?>
 
Ich habe es jetzt so gemacht.

PHP:
$userid = $_GET['userid'];

echo ".$userid.";

Die Ausgabe ist ".1.".

In der URL steht:
PHP:
http://www.meine-seite.de/admin/delete.php?img=../Avatare/Avatar-bl5000.png&userid=1

Woher kommt das Punkt am Anfang und am Ende?
 
Also die Frage ist jetzt aber wirklich komisch, schau doch mal was du geschrieben hast.

"PUNKT$useridPUNKT"

Was soll dann anderes rauskommen? Den Punkt brauchst du normalerweise um 2 oder mehrere Strings zu verketten.
 
Ja das dachte ich auch aber ohne diese Punkte bekommen ich einen Fehler.

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in...

Edit:

Ok Ok ich nehme alles zurück.

Natürlich lag es an:

PHP:
echo ".$userid.";
 
Zuletzt bearbeitet:
Es geht nun. :)

Noch einmal vielen Dank für die Hilfe. :)

PHP-Skript:
PHP:
echo "<td align=left><a style=\"color:blue;\" href=\"".$deletel1.$delete2.$row['field2'].".png&userid=".$userid."\">Löschen</a></td>";

delete.php:
PHP:
<?php
// Datenbank Config
   $db_server   = "XXX";
   $db_name     = "XXX";
   $db_user     = "XXX";
   $db_passwort = "XXX";

// Profilfeld löschen (Datenbank)
   $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
   mysql_select_db($db_name,$db);

   $userid = $_GET['userid'];

   mysql_query("UPDATE userfield SET field2 = NULL WHERE userid = '$userid'");

// Avatar löschen (Filesystem)
   if (isset($_GET["img"]))
   {
   if (file_exists($_GET["img"]))
   {
      unlink($_GET["img"]);
   }
   }

// Weiterleitung
   header("Location: http://www.meine-seite.de/admin/avatare.php");
   exit;
?>

Ist das PHP-Skript (delete.php) richtig?
 
1) würde ich die "Zugangsdaten für die Datenbank nicht in jede Seite schreiben. Stell dir mal vor welcher Auswand das ist wenn sich da mal etwas ändert. Lege dir eine PHP-Datei an in der die obigen Variablen gefüllt werden und binde diese Datei dann überall z.B. mit include ein.

2) Den Wert von $_GET["userid"] würde ich nicht so einfach in die Abfrage einbauen. Mach daraus mal:
PHP:
$userid = mysql_real_escape_string($_GET["userid"]);

3) Den Wert von $_GET["img"] solltest du auch vorher darauf prüfen ob er Sinn macht. Sonst könnte auch hier ein böser Bube irgendwelchen Unfug damit treiben.
Du könntest auch nur den Dateinamen übergeben und den restlichen Pfad ("..Avatare/") erst hier anfügen. Dann wird auch die Prüfung einfacher.

4) Bei den Angaben bei der Umleitung am Schluss würde ich nur den Dateinamen und nicht die komplette Domain angeben.

So mehr fällt mir im Moment icht dazu ein.
 
Zurück