WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Insert into PHp (http://www.wcm.at/forum/showthread.php?t=235238)

suRe 26.06.2009 14:27

Insert into PHp
 
Hallo zusammen

kann mir jemand sagen wieso dieser code nicht funktioniert resp. wiso es keinen Eintrag in meine DB macht obwohl ich kiene fehlermeldung erhalte.......

PHP-Code:

<?
error_reporting
(E_ALL);  
if(
$gesendet)
{
 
$db mysql_connect($server$username$password);
 
 
$mysqlab "INSERT INTO dms (von, datei, pfad, datum, art, alle, teilen) VALUES ('$von', '$datei', '$pfad', NOW(), $type, $public, $share)";
 
$abfrage mysql_db_query($database$mysqlab);
 
$num mysql_affected_rows();
 
 
 if (
$num>0)
 {
  echo 
"<p><font color=green> Es wurden ein Datensatz hinzugefügt </font></p>";
 echo 
"<p>&nbsp</p> <p>&nbsp</p>";
 }
  else 
 {
 echo 
"<p><font color=red> Es ist ein Fehler aufgetreten, der Datensatz konnte nicht hinzugefügt werden weil </font></p>";
 echo 
"<p>&nbsp</p> <p>&nbsp</p>";
 }
 
mysql_close($db);
}
?>

DB

Philipp 26.06.2009 14:35

Wo wird $username, $password, $database definiert?

Allerdings würde ich das so nicht online stellen. Zum einen ist der Code altmodisch und wird unter aktuellen PHP Versionen nicht mehr laufen. Zum anderen hat er eine schwere Sicherheitslücke.

suRe 26.06.2009 14:42

wird von einem file included

hast du mir dann tipps wie mann es besser machen könnte?

Philipp 26.06.2009 15:00

Zum einen wird $von $datei $pfad $type $public $share direkt in die Datenbank geschrieben, wobei dadurch die Seite relativ leicht gehackt werden kann. Korrekt wäre es die Variablen erst durch mysql_real_escape_string durchlaufen zu lassen.

Weiters werden bei modernen PHP Installation die Variabeln nicht automatisch registert. Statt $von muss z.B. $_POST['von'] verwendet werden.

Ich denke es wäre das Vernünftigste, gleich ein gutes PHP Buch zu kaufen. Für PHP 5.3 gibt es schon einige Einstiegsbücher wie z.B. dieses hier.

suRe 26.06.2009 15:59

Ok das mit dem Get weis ich eigentlich, ich habe hier nur mal zum testen direkt eingegeben

aber weist du trotzdem wiso es mir die daten nicht in die db schreibt?

{jellyfish} 26.06.2009 17:55

Hello!
Versuch mal folgendes: versuch unter dem Einfügen mit einem echo $mysqlab mal zu schaun, was er da übergibt bzw. ob er überhaupt die Werte aus den Variablen nimmt.
Und als zweites wären noch die Datentypen, die du für die Tabelle genommen hast, sehr interessant.

grüsse, jellyfish


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag