You are not logged in.

  • Login

1

Friday, December 1st 2006, 2:44pm

Variabeln werden nicht übergeben...

Hallöchen...

Hab da ein kleines Problem...

es handelt dich um ein Chat-Gaestebuch wo die user unternander sich in den Profilen Texte hinterlassen können (für mehrere Profile gedacht), nur klappt es nicht so wirklich...

Die Variabel Messa wird nicht übergeben und somit nicht in der SQL-Tabelle gespeichert... find einfach den fehler nicht...

vielleicht könnt ihr mir dabei helfen...

....

log.php

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
<? 
$myhost="localhost"; 
$mydb="buch"; 
$myuser="buch"; 
$mypassword="123456"; 
 
mysql_connect("$myhost","$myuser","$mypassword")or die 
("Keine Verbindung moeglich"); 
mysql_select_db("$mydb")or die ("Die Datenbank existiert nicht"); 
?>


MySQL

MySQL Code

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 
-- Tabellenstruktur für Tabelle `icc_gb`
-- 
 
CREATE TABLE `icc_gb` (
  `uid` INT(11) NOT NULL AUTO_INCREMENT,
  `an` LONGTEXT COLLATE latin1_general_ci,
  `von` LONGTEXT COLLATE latin1_general_ci,
  `datum` TEXT COLLATE latin1_general_ci NOT NULL,
  `uhrzeit` TEXT COLLATE latin1_general_ci NOT NULL,
  `messa` LONGTEXT COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY  (`uid`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci PACK_KEYS=1 AUTO_INCREMENT=5 ;


wäre euch sehr dankbar...

Greets
Toxic

2

Friday, December 1st 2006, 3:13pm

Willst du die Variable messa nicht übergeben? Oder was willst du denn erreichen?
Wann bzw. Wo soll denn die Variable Messa übergeben werden?

3

Friday, December 1st 2006, 3:16pm

Quoted from ""mycros""

Willst du die Variable messa nicht übergeben? Oder was willst du denn erreichen?
Wann bzw. Wo soll denn die Variable Messa übergeben werden?



doch, die variabel Messa soll in die SQL tabelle gespeichert werden (der User (das die tabelle für den user gefunden wird und der Nick vom Schreiber sowie den Text den der User geschrieben hat mit Timestamp))... und dies Klappt bei mir nicht, das die Variabel Messe in der SQL-Tabelle gespeichert wird...

sieht man schon an der

PHP Quellcode

1
$eintrag = "INSERT INTO icc_gb (an, von, datum, uhrzeit, messa) VALUES ('$an','$von','$datum','$uhrzeit','$messa')";


so sehen dann die einträge in der SQL Tabelle aus, wenn es klappen würde...

INSERT INTO `icc_gb` VALUES (1, 'Tristar', 'hallo', '30.11.2006', '14:39', '');
INSERT INTO `icc_gb` VALUES (2, 'Tristar', 'hallozurück', '30.11.2006', '14:41', '');


aber er speichert es nicht, da die Variabel $messa nicht übergeben wird oder Funktioniert...

greets
Toxic

4

Friday, December 1st 2006, 3:23pm

dann übergib sie doch. hänge an deinen link einfach die variable an.

zeile 69:
action="gb.php?nick=<? echo $nick; ?>&user=<? echo $user; ?>&acti=delet&uid=<? echo $row->uid; ?>&messa=<? echo $row->messa; ?>"

5

Friday, December 1st 2006, 3:26pm

...

Klappt auch nicht, bekomm ja auch die meldung...

Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4

und das einzigste was er jetzt gespeichert hat ist

von action="gb.php?nick=tristar&user=tristar&acti=delet&uid=1&messa=$row->messa; ?>"

Das sieht so aus als wenn die session $messa garnicht gestartet wird, so das er was schreiben kann... nur da ich anfänger bin, weiß ich nicht wie ich die session $messa (besser gesagt, das sie defieniert ist) starten soll, das er die variabeln in $messa schreiben kann um diese in der SQL tabelle zu speichern...

im gästebuch sieht es dann folgendermaßen aus wenn es klappen würde...

Gästebuch von tristar
von Toxic geschrieben am 30.11.2006 14:39
hallo

greets
Toxic

6

Friday, December 1st 2006, 5:11pm

Wenn du eine Variable über die URL weitergibst, dann musst du auf $_GET['variable'] benutzen...siehe register_globals

[1] http://de.php.net/register_globals
Latest blogs Latest blogs: PuTTY 0.60 erschienen

7

Friday, December 1st 2006, 5:25pm

Quoted from ""eLKane""

Wenn du eine Variable über die URL weitergibst, dann musst du auf $_GET['variable'] benutzen...siehe register_globals

[1] http://de.php.net/register_globals


Sorry, komm nicht wirklich weiter was ich da machen muss... Sorry...

bekomm die meldung bei

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
error_reporting(E_ALL); 
mysql_error(); 
var_dump($messa); 
$messa =$_GET['messa']; 
$nick = $_GET['nick']; 
$user = $_GET['user']; 
$acti = $_GET['acti'];
if ($messa) {  // kann vom User mit get/post/cookies übermittelt werden
   $good_login = 1;
}
 if ($good_login == 1) { // kann vom User mit get/post/cookies übermittelt werden
 
}
 
if ($acti == "save") { 
include "log.php"; 
$von = $nick;


Quoted

Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4
NULL
Notice: Undefined index: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

Notice: Undefined variable: good_login in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 12


wie schon erwähnt funktioniert es nicht das $messa die Daten in der SQL Tabelle ablegt...

8

Friday, December 1st 2006, 8:11pm

Quoted

Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4
NULL

Der Fehler ist simpel. Die Warnung erhältst du weil die messain Zeile 4 ausgeben willst, in Zeile 5 aber erst zuordnest.
Das NULL erhältst du eben weil messa noch leer ist.

Quoted

Notice: Undefined index: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

Den Fehler erhältst du, wenn du gb.php?user=toxic&nick=plankton eben ohne messa aufrust. Du versuchst auf über einen nicht existierenden Index zuzugreifen

Quoted

Notice: Undefined variable: good_login in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 12

Die Warnung erscheint, weil du, wenn die vorherige if Bedinung nicht greift, keine Variable $good_login hast.
Lösung: ergänze ein else $good_login = 0 in Zeile 10

9

Saturday, December 2nd 2006, 4:06pm

...

gut, soweit hab ich das verstanden... jetzt meine frage, weißt du wie ich die Variabel $messa zum abspeichern bekomme so das sie in der SQL-Tabelle kommt??? denn bei den Befehl von mycros macht er nur oben in der adressleiste "
http://127.0.0.1/gb/gb.php?nick=toxic&user=tristar&acti=delet&uid=<br /><b>Notice</b>: Trying to get property of non-object in <b>D:\Programme\webserver\xampp\htdocs\gb\gb.php</b> on line <b>87</b><br />&messa=<br /><b>Notice</b>: Trying to get property of non-object in <b>D:\Programme\webserver\xampp\htdocs\gb\gb.php</b> on line <b>87</b><br />" "Notice: Trying to get property of non-object in D:\\Programme\\webserver\\xampp\\htdocs\\gb\\gb.php on line 87" aber speichert nichts in der SQL-Tabelle...

Denn das ist der Befehl

HTML Code

1
2
3
4
5
<tr class="row2"><td><form enctype="multipart/form-data" action="gb.php?acti=save&nick=<? echo $nick; ?>&user=<? echo $user; ?>" method="post"> 
<div align="center"> 
<br><textarea name="userpro" cols="50" rows="7"></textarea> 
<br> 
<input type="submit" value="Speichern">


der aber leer scheint, so das nichts abzuspeichern geht und somit nichts in der Tabelle kommt...

Denn die frage bleibt, wie bekomm ich die Varuabel $messa aktiviert, so das er dies in der SQL-Tabelle speichert...

Greets
toxic

10

Saturday, December 2nd 2006, 6:36pm

Du solltest mal die ganzen GET Variablen auf POST variablen umstellen

HTML Code

1
2
3
4
5
6
7
8
9
<form enctype="multipart/form-data" action="gb.php" method="post">
<input type="hidden" name="nick" value="<? echo $nick; ?>" />
<input type="hidden" name="user" value="<? echo $user; ?>" />
<input type="hidden" name="acti" value="delet" />
<input type="hidden" name="uid" value="<? echo $row->uid; ?>" />
<div align="center">
<input type="submit" value="Löschen">
</div>
</form>


und poste dann mal die geparste Ausgabe dieses Codes.

11

Sunday, December 3rd 2006, 3:13am

also ich bin hingegangen und hab diesen code ersetzt, wo ich dann garnichts mehr eingeben konnte... wo ich ihn nur teilweise mit eingefügt hab, hab ich iweder das gleiche Problem beim speichern, das er dies nicht macht...

Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 6

Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 7

Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 8

der geänderte code sieht so aus...


PHP Quellcode

1
2
3
4
5
6
7
8
9
10
</tr> 
<tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post"> 
<div align="center"> 
<input type="hidden" name="nick" value="<? echo $nick; ?>" /> 
<input type="hidden" name="user" value="<? echo $user; ?>" /> 
<input type="hidden" name="acti" value="save" /> 
<input type="hidden" name="uid" value="<? echo $row->uid; ?>" /> 
<br><textarea name="messa" cols="50" rows="7"></textarea> 
<br> 
<input type="submit" value="Speichern">


PHP Quellcode

1
2
3
4
$messa =$_post['messa']; 
$nick = $_post['nick']; 
$user = $_post['user']; 
$acti = $_post['acti'];


dann verschwinden bei post noch die einträge, die ich mal so in der SQL-Tabelle eingetragen hatte...

also kein nennenswerter Erfolg...

12

Sunday, December 3rd 2006, 11:05am

$_post muß doch $_POST heißen, oder?

13

Sunday, December 3rd 2006, 12:00pm

außerdem gehts mir erstmal nur darum wie das geparste Formular aussieht
also alles was der browser zwischen <form> und </form> darstellt

14

Sunday, December 3rd 2006, 12:57pm

Quoted from ""d0nUt""

außerdem gehts mir erstmal nur darum wie das geparste Formular aussieht
also alles was der browser zwischen <form> und </form> darstellt


hallo

also zwischen Form und form stehhlt er dieses dar...

mit $_GET



mit $_POST

und allen anderen Änderungen



greets

15

Sunday, December 3rd 2006, 1:03pm

*g* mit Aussehen meinte ich den geparsten Quelltext
Mich interessiert der Quelltext der POST Variante
Einfach mal "Ansicht->Quelltext" klicken und den entsprechenden Code hier pasten.

Ach, und wenn du auf POST umstellst, musst du nicht nur das Formular ändern, sondern auch die Variablen von _GET in _POST ändern

16

Sunday, December 3rd 2006, 1:21pm

Das sind ja nur die 4 _get, die vorhanden sind...

PHP Quellcode

1
2
3
4
$messa =$_GET['messa']; 
$nick = $_GET['nick']; 
$user = $_GET['user']; 
$acti = $_GET['acti'];


das ist die Form mit Get

HTML Code

1
2
3
4
5
6
7
8
9
10
11
12
<tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post"> 
<div align="center"> 
<input type="hidden" name="nick" value="plankton" /> 
<input type="hidden" name="user" value="tristar" /> 
<input type="hidden" name="acti" value="save" /> 
 
<br><textarea name="messa" cols="50" rows="7"></textarea> 
<br> 
<input type="submit" value="Speichern"> 
 
</div> 
</form>


und dies ist mit _POST

HTML Code

1
2
3
4
5
6
7
8
9
<tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post"> 
<div align="center"> 
<input type="hidden" name="nick" value="" /> 
<input type="hidden" name="user" value="" /> 
<input type="hidden" name="acti" value="save" /> 
 
<br><textarea name="messa" cols="50" rows="7"></textarea> 
<br> 
<input type="submit" value="Speichern">


wie mir aufgefallen ist, fügt er mit _get den User und Nick ein, nur speichern will er das nit in die SQL-Tabelle...

greets

17

Sunday, December 3rd 2006, 2:17pm

wir kommen irgendwie nicht weiter..
dein original code ist schon ziemlich verquert....

Quoted

#15 if ($messa != "") {;

Was soll das Semikolon?

Quoted

#20 function eintrag($messa) { ...}
#35 function check_messa($messa) { ...}

Wo rufst du diese Funktionen auf?

Und was du aktuell im Code stehen hast weiß ich auch nicht. Mysql_errors? POST Variablen umgeformt?
Was solls.. um mal ein bisschen vorwärts zu kommen probier mal folgenden Code

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
error_reporting(E_ALL);
include "log.php";
function check_messa($messa) {
	if (strlen($text)>2000) {
		fehlermeldung("Der Text im Feld 'Text' ist zu lang (".strlen($text)." Zeichen)"); 
		return false;
	}
	else return true;
}
 
if(isset($_GET['nick']) && isset($_GET['user'])) {
	$nick = mysql_real_escape_string($_GET['nick']);
	$user = mysql_real_escape_string($_GET['user']);
 
} else die('Falsche Anzahl Parameter');
 
 
if(isset($_POST['messa']) && isset($_POST['nick']) && isset($_POST['user'])) {
	$messa= mysql_real_escape_string($_POST['messa']);
	$acti = $_POST['acti'];
	$uid = intval($_POST['uid']);
	if ($acti == "save") {
		$von = $nick;
		$an = $user;
		$datum = date("d.m.Y");
		$uhrzeit = date("H:i");
		if ($messa != "") {
			$messa = strip_tags($messa);
			if(check_messa($messa)) {
				$messa = nl2br ($messa);
				$messa = str_replace("[img]","<img src=\"", $messa);
				$messa = str_replace("[/img]","\">", $messa);
				$eintrag = "INSERT INTO icc_gb (an, von, datum, uhrzeit, messa) VALUES ('$an','$von','$datum','$uhrzeit','$messa')";
				mysql_query($messa)or die(mysql_error());
			}	
		}
	}
 
	if ($acti == "delet") {
		$loesch = "DELETE FROM icc_gb WHERE uid = '$uid'";
		mysql_query($loesch)or die(mysql_error());;
	}
 
	if ($acti == "check") {
		//...
	}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Gästebuch von <? echo $user; ?> </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
</head>
 
<body>
<table width="90%" border="1" align="center" cellpadding="0" cellspacing="0" class="outer">
<tr>
	<td>
 
	<table width="100%" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<th><div align="center">Gästebuch von <? echo $user; ?></div></th>
	</tr>
 
<?php
$abfrag = "SELECT * FROM icc_gb WHERE an = '$user' ORDER by datum DESC";
$abfrage = mysql_query($abfrag);
while ($row = mysql_fetch_object($abfrage)) {
	$num = true;
	echo '<tr class="row2">
		<td align="center"><em><strong>von <a href="gb.php?user='. $row->von .'&nick='. $nick .'">
		'.$row->von.'</a> geschrieben am '.$row->datum.' '.$row->uhrzeit.'</strong></em><br />
		<br />'.$row->messa.'<br />';
 
 
	if ($user == $nick) {
		echo '<form enctype="multipart/form-data" action="gb.php?user='.$user.'&nick='.$nick.'" method="post">
			<input type="hidden" name="uid" value="'.$row->uid.'" />
			<input type="hidden" name="acti" value="delet" />
			<input type="submit" value="Löschen">
			</form>';
	}
 
	echo '<hr /></td>
	</tr>';
}
 
if(!isset($num))
	echo "<div align=\"center\">Keine Einträge vorhanden</div>";
?>
 
	</table>
	</td>
	</tr>
	<tr class="row2"><td align="center">
		<form enctype="multipart/form-data" action="gb.php?nick=<? echo $nick; ?>&user=<? echo $user; ?>" method="post">
		<input type="hidden" name="acti" value="save" />
		<br /><textarea name="userpro" cols="50" rows="7"></textarea>
		<br /><input type="submit" value="Speichern">
		</form>
	</td></tr> 
</table>
</body>
</html>

18

Sunday, December 3rd 2006, 2:31pm

...

Hy

dies hab ich gemacht...

Quoted

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 14

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 14


... Die user ist ja nur der, von dem das GB ist... da es mehrere user gibt, somit mehrere GB´s in einen und der Nick ist nur, der den Eintrag hinterlässt...

deswegen bring es nichts, wenn der User oder Nick versucht auf die SQL zuzugreifen...

greets

19

Sunday, December 3rd 2006, 4:09pm

Re: ...

Quoted from ""toxic""

... Die user ist ja nur der, von dem das GB ist... da es mehrere user gibt, somit mehrere GB´s in einen und der Nick ist nur, der den Eintrag hinterlässt...

deswegen bring es nichts, wenn der User oder Nick versucht auf die SQL zuzugreifen...


Hab mich nur an deinem Posting orientiert.

Baust du deine Verbinung in log.php auf? Hab den Include mal nach oben gezogen.

20

Sunday, December 3rd 2006, 4:12pm

Re: ...

genau... Den es handelt sich um ein Chat Gaestebuch, wo die user auf die nicks klicken und so auf die Gaestebücher von den anderen user kommen und dort eintragungen machen können...

greets

Social bookmarks