Sprachlos...

Sandro18

Erfahrenes Mitglied
Hi,

also es gibt Tage an denen ich denke ich behersche doch wenigstens "ein wenig" PHP, Heute ist einer an dem ich lieber nichts sage *g*

Bitte helft mir :) Ich habe eine PHP-Datei, die es möglich macht auf eine DB zu schreiben, über ein anderes Script, habe ich meine Sessions schon gestartet, und gespeichert. Jedoch wenn ich nun versuche als bsp zu sagen

$name = $_SESSION["user_member_name"];

will der das nicht nehmen. Das ist wirklich komisch. Könnt Ihr mir helfen?
Hier der Code:
PHP:
 <?
include ("../../../../admin/db/db_config.php"); 
?>
<? 
$absname = $_SESSION["user_member_name"];
  
	mysql_query("INSERT INTO pms
 (nachricht, empfaengername, absname, id, betreff)VALUES('$nachricht','$empfaengername','$absname','$id','$betreff')");   
   
  mysql_close();   
  ?>
Das ganze soll ein PM-System werden.

Gruß Sandro
 
Hi Gumbo,

ja hab ich.

Also wenn ich die Datei ausgebe zb. Dein Nickname ist:
PHP:
<?php echo $_SESSION["user_member_name"]; ?>
Klappt das auch Fehlerlos.

Gruß Sandro
 
Setz mal die Fehlerbehandlung PHPs etwas sensitiver:
PHP:
<?php

	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	…

?>
 
Komisch!

Er sagt ich hätte eine "undefinierte Session" und logischerweise auch eine "undefinierte Variable"

Gruß Sandro
 
Der Aufruf einer Sitzung muss in jedem verarbeitenden Skript vorhanden sein um die Daten der Sitzung zu benutzen.
 
Gumbo,
klar, das habe ich auch bedacht.

Schau das ist nun das Script:
PHP:
 <? 
ini_set('display_errors', 1); 
	ini_set('error_reporting', E_ALL); 
 
$absname = $_SESSION["user_member_name"];
$id = $_SESSION["user_id"];
 
	mysql_query("INSERT INTO pms
(nachricht, empfaengername, absname, id, betreff)VALUES('$nachricht','$empfaengername','$absname','$id','$betreff')"); 
 
mysql_close(); 
?>
Ich habe es erweitert um das sessionfeld "id" Der DB Eintrag klappt wunderbar mit der ID! Nur wieder der "absname" wird nicht eingetragen.

Das wird sicherlich ein kleiner Fehler sein. Aber glaube mir ich find ihn nicht! Das ist zum Haare ausreissen :)
 
Nächste Vermutung: Der Wert enthält „gefährliche“ Zeichen. Bei Datenbankabfragen sollten alle Benutzereingaben „entschärft“ werden:
PHP:
<?php

	$query = "
		INSERT INTO
		        `pms`
		  SET
		        `nachricht`      = '".mysql_real_escape_string($nachricht)."',
		        `empfaengername` = '".mysql_real_escape_string($empfaengername)."',
		        `absname`        = '".mysql_real_escape_string($absname)."',
		        `id`             = '".mysql_real_escape_string($id)."',
		        `betreff`        = '".mysql_real_escape_string($id)."'
		";
	mysql_query($query);

?>
 
Zurück