Sehr großes Problem
jaylibII
- php
Hallo und guten Tag,
hab mal wieder ein sehr großes Problem. Leider komme ich selber nicht drauf wie ich das lösen muss. Ich hoffe, dass mir jemand dabei helfen kann. Währew wirklich sehr sehr froh, denn es ist wichtig.
Hier kommt mal mein Problem. Ich will jedem User ein Gästebuch erstellen. Das habe ich auch so geamcht. Habe eine Tabell in der DB die sieht so aus:
CREATE TABLE p\_gaestebuch
(
id
int(6) NOT NULL auto_increment,
user
varchar(30) NOT NULL default '0',
name
varchar(200) NOT NULL default '',
text
text NOT NULL,
datum
datetime NOT NULL default '0000-00-00 00:00:00',
ip
int(6) NOT NULL default '0',
PRIMARY KEY (id
)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
dann habe ich im Profil von jedem User ein Link zu einem POPUP wo dann auch das Eingabeformular und auch das auslesen der Daten vorgenommen wird.
So sieht der Link aus:
[PHP]<a href="popup.php?user=<? echo $_data['benutzername'];?>" class="Stil4" onclick="window.open('popup.php?user=<? echo $_data['benutzername'];?>','popup','width=700,height=500,left=0,top=0,scrollbars');return false;">[/PHP]
So das POPUP sieht dann wie folgt aus. Zum Eintragen der Daten habe ich das wie folgt geamcht:
[PHP]if(!empty($_POST))
{
$sql = "INSERT INTO p_gaestebuch
(
name,
text,
user,
ip,
datum
)
VALUES
(
'" . $_SESSION['benutzername'] . "',
'" . addslashes($_POST["text"]) . "',
'" . addslashes($_POST["user"]) . "',
'" . $_SERVER["REMOTE_ADDR"]. "',
NOW()
)
";
mysql_query($sql)OR die(mysql_error());
header("Location: http://www.meineSeite.de/popup.php?user=".$_POST['user']);
exit;
}
?>
[/PHP]
Nun das Skript zum auslesen der Daten aus der DB:
[PHP] <?php // News aus der Datebank laden
$sql="SELECT id, datum, name, user, text FROM p_gaestebuch WHERE user='".$_GET['benutzername']."'";
$return = mysql_query($sql) OR die(mysql_error());
?>
<?php
while($_data = mysql_fetch_assoc($return))
{
?>
[/PHP]
dann sind die ganzen DAten in $_data so mache ich dann auch die Ausgabe:
[PHP]<?php echo htmlentities(echo_message($_data['text'])); ?>[/PHP]
So nun kommt aber mein Problem:
Wenn ich meine Daten in der DB ansehen dann sehen die nun wie folgt aus:
INSERT INTO p\_gaestebuch
VALUES (4, 'XXX', 'jaylibII', 'Hallo', '2005-03-27 16:05:14', 217);
Da wo ich nun das XXX eingetragen habe da steht eben in der DB nichts, da soll aber rein von welchem Profil ich aus den Gästebuch eintrag geamcht habe. Aber dads ist leider nicht der Fall. Wenn ich nun anstat den XXX z.B. jaylibII eingebe und dann auf mein Profil klicke und dann auf Gästebuch, dann geht das POPUP auf und es kommt der eintrag aber ich kann ja nicht alles manuell machen das ist ja zu viel arbiet.
Ich hoffe es kann mir jemand helfen. Ach ja die USer werden anhand der Session erkannt.
Gruß jaylibII
Moin,
hab mal wieder ein sehr großes Problem. Leider komme ich selber nicht drauf wie ich das lösen muss. Ich hoffe, dass mir jemand dabei helfen kann. Währew wirklich sehr sehr froh, denn es ist wichtig.
Nein es ist nicht wichtig...
Es ist Ostersonntag.
Wichtige Fragen werden sehr gern gegen Entgelt beantwortet.
Support ist Sonntags gegen 3,85 € die Minute zu haben.
Hier kommt mal mein Problem. Ich will jedem User ein Gästebuch erstellen. Das habe ich auch so geamcht. Habe eine Tabell in der DB die sieht so aus:
Welchem User willst Du ein Gästebuch erstellen?
CREATE TABLE
p\_gaestebuch
(
id
int(6) NOT NULL auto_increment,
user
varchar(30) NOT NULL default '0',
name
varchar(200) NOT NULL default '',
text
text NOT NULL,
datum
datetime NOT NULL default '0000-00-00 00:00:00',
ip
int(6) NOT NULL default '0',
PRIMARY KEY (id
)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
Welches Tutorial benutzt Du?
dann habe ich im Profil von jedem User ein Link zu einem POPUP wo dann auch das Eingabeformular und auch das auslesen der Daten vorgenommen wird.
In welchem Profil von welchem User?
Welche CMS Lösung benutzt Du?
So sieht der Link aus:
[PHP]<a href="popup.php?user=<? echo $_data['benutzername'];?>" class="Stil4" onclick="window.open('popup.php?user=<? echo $_data['benutzername'];?>','popup','width=700,height=500,left=0,top=0,scrollbars');return false;">[/PHP]
Was soll das sein?
Smarty Template Engine?
Kennst Du diese Software wirklich ich glaube kaum.
So das POPUP sieht dann wie folgt aus. Zum Eintragen der Daten habe ich das wie folgt geamcht:
Hast Du mal die Warnungen eingeschaltet?
So nun kommt aber mein Problem:
Wenn ich meine Daten in der DB ansehen dann sehen die nun wie folgt aus....
Dein Problem ist, dass Du etwas tust, von dem hier vermutlich keiner weiß was Du tust.
Dir fehlen leider elementare Grundkenntnisse.
Du verwendest eine Software, von der Du nicht weißt wie diese funktioniert. Ich tippe auf Smarty.
Ich hoffe es kann mir jemand helfen. Ach ja die USer werden anhand der Session erkannt.
User werden nicht an Hand von Sessions erkannt. User kann man allenfalls an den in Sessions gespeicherten Variablen identifizieren.
So damit man dir überhaupt helfen kann solltest Du uns zunächts ein paar Deiner Geheminisse preisgeben.
1. Welche Software verwendest Du?
2. woher hast Du das Skript und welche fehlermeldungen werden produziert.
Viele Grüße aus Berlin TomIRL
Hello,
Nein es ist nicht wichtig...
Es ist Ostersonntag.
Wichtige Fragen werden sehr gern gegen Entgelt beantwortet.
Support ist Sonntags gegen 3,85 € die Minute zu haben.
Tom, Du brauchst 'ne (andere?) Frau. Dann siehst Du das alles nicht mehr so eng ;-))
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
Nein es ist nicht wichtig...
Es ist Ostersonntag.
Wichtige Fragen werden sehr gern gegen Entgelt beantwortet.
Support ist Sonntags gegen 3,85 € die Minute zu haben.Tom, Du brauchst 'ne (andere?) Frau. Dann siehst Du das alles nicht mehr so eng ;-))
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
redest du mit dir selbst oder mit TomIRL?
*scnr*
;)
gruss
Moin,
redest du mit dir selbst oder mit TomIRL?
*scnr*
;)
Hehehe da meldet sich gerade der richtige :) *scnr*!
Viele Grüße aus Berlin
TomIRL
Hallo TomIRL,
Welchem User willst Du ein Gästebuch erstellen?
jeder User soll ein Gästebuch haben.
CREATE TABLE
p\_gaestebuch
(
id
int(6) NOT NULL auto_increment,
user
varchar(30) NOT NULL default '0',
name
varchar(200) NOT NULL default '',
text
text NOT NULL,
datum
datetime NOT NULL default '0000-00-00 00:00:00',
ip
int(6) NOT NULL default '0',
PRIMARY KEY (id
)
) TYPE=MyISAM AUTO_INCREMENT=6 ;Welches Tutorial benutzt Du?
gar keines wie kommst du da drauf?
In welchem Profil von welchem User?
ja von jedem User!
Welche CMS Lösung benutzt Du?
gar keines...
So sieht der Link aus:
[PHP]<a href="popup.php?user=<? echo $_data['benutzername'];?>" class="Stil4" onclick="window.open('popup.php?user=<? echo $_data['benutzername'];?>','popup','width=700,height=500,left=0,top=0,scrollbars');return false;">[/PHP]
Was soll das sein?
das ist der Link zum ein POPUP zu öffen.
Smarty Template Engine?
Bitte was? Ich verwende gar kein Template
Kennst Du diese Software wirklich ich glaube kaum.
was redest du immer von Software. Das ist PHP und MySQL mehr doch nicht. Wie kommst du immer auf Software?
Hast Du mal die Warnungen eingeschaltet?
ja er trägt auch alles ein er übernimmt nur nicht den Benutzernamen von dem User aus wo ich das geschrieben habe.
Du verwendest eine Software, von der Du nicht weißt wie diese funktioniert. Ich tippe auf Smarty.
NEIN mache ich nicht....
- Welche Software verwendest Du?
PHP und MYSQL
- woher hast Du das Skript und welche fehlermeldungen werden produziert.
Das Skript ist von mir. Das ist ja nicht viel PHP
Gruß jaylibII
Moin,
LOL....
Man man man man man man man....
Woher hast Du die Syntax?
wer hat Dir verraten, dass man PHP mit [PHP] beginnt und mit [/PHP] beendet. Dies ist eine typische Syntax die von Template Engines (sofern du überhaupt weißt was das ist)verwendet wird.
Du redest von Usern wie melden diese User sich wo an?
Was Du dort abgeliefert hast, ist kein PHP das ist ein wenig Skript wofür auch immer.
TomIRL
Hi,
da kann ich auch nur sagen mann mann mann
Woher hast Du die Syntax?
wer hat Dir verraten, dass man PHP mit [PHP] beginnt und mit [/PHP] beendet. Dies ist eine typische Syntax die von Template Engines (sofern du überhaupt weißt was das ist)verwendet wird.
ich dachte wenn ich [PHP] mache, dann wir mein PHP hier Farbig dagestellt wie auf so viel anderne Foren. Deshalb habe ich das nur geamcht. Aber ich habe gemerkt, dass das hier nicht geht, also kannst du das einfach ganz schnell wieder vergessen.
Du redest von Usern wie melden diese User sich wo an?
ja bei mir auf der Seite dass die in einer Community was machen können. Wie z.B. in ein Forum schreiben und so.
Was Du dort abgeliefert hast, ist kein PHP das ist ein wenig Skript wofür auch immer.
klar ist das ein PHP damit ging auch alles andere. z.B. wenn ich eine News schreibe dann kann man da seine Comments ablassen da geht das nur bie den Usern geht das nicht. Ich dachte ich kann dafür das gleiche Skript nehmen. Es geht auch alles nur eben nicht das übenhemn der $_data['benutzername'];
Gruß jaylibII
Moin,
ich dachte wenn ich [PHP] mache, dann wir mein PHP hier Farbig dagestellt wie auf so viel anderne Foren. Deshalb habe ich das nur geamcht. Aber ich habe gemerkt, dass das hier nicht geht, also kannst du das einfach ganz schnell wieder vergessen.
Zunächst ist es auch in anderen Foren üblich einen Aussagekräftigen Threadtitel zu wählen.
2. Gibs hier </faq/>
ja bei mir auf der Seite dass die in einer Community was machen können. Wie z.B. in ein Forum schreiben und so.
Noch einmal ganz langsam..
Welche Comnmunitysoftware benutzt du?
klar ist das ein PHP damit ging auch alles andere. z.B. wenn ich eine News schreibe dann kann man da seine Comments ablassen da geht das nur bie den Usern geht das nicht. Ich dachte ich kann dafür das gleiche Skript nehmen. Es geht auch alles nur eben nicht das übenhemn der $_data['benutzername'];
Woher kommt die Variable $_data her?
Wie greift man mit PHP auf sessions zu?
hast Du vielleicht mal an die Variable $_SESSIONS ['var'] gedacht.
Und nein.. Dein "PHP Skript" ist saumässig programmiert.
Du überprüfst weder die Variablen auf Ihre Gültigkeit, noch ist irgendsowas wie Stil zu erkennen.
Setze an den Anfang Deines Skriptes mal:
error_reporting(E_ALL);
wenn Du da nix mehr kommt was da nicht hingehört, dann ist Dein Skript halbwegs sauber.
TomIRL
Hello,
könntest Du Die Problematik bitte nochmal in ca. 5 bis sechs Sätzen zusammenfassen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
OK alles extra für dich :-)
Ich habe das Problem, dass die Daten was in $_data['benutzername'] steht nicht übernommen werden also beim eintragen.
Wenn ich aber im Profil mit der Maus über das Profil gehe, dann wird er schon richtig angezeigt also ist in $_data['benutzername'] auch was drin das kann man schon mal ausschließen.
Hast du das nun verstanden?
Gruß jaylibII
Hello,
Hallo Tom,
OK alles extra für dich :-)
Ich habe das Problem, dass die Daten was in $_data['benutzername'] steht nicht übernommen werden also beim eintragen.
Kenn ich nicht, was ist $_data['benutername']? woher kommt das? Wann ist das gültig?
Wovon wird das nicht übernommen?
Wenn ich aber im Profil mit der Maus über das Profil gehe, dann wird er schon richtig angezeigt also ist in $_data['benutzername'] auch was drin das kann man schon mal ausschließen.
Hast du das nun verstanden?
Nein. Ich bin ein bisschen doof. Genauso wie Dein Server. Du musst mich sehr genau mit dri bis vier Sätzen ins Bild setzen, was eigentlich die Aufgabe ist, welches die Ausgangssituation und wo dann der Problemfall beginnt.
Bitte in ganzen Sätzen, so als würdest Du es Deiner technisch interessierten Oma erzählen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Halo Tom,
Kenn ich nicht, was ist $_data['benutername']? woher kommt das? Wann ist das gültig?
was kannst du nicht? Die $_data['benutername']; ist dafür da dass ich erfahre auf welchem Profil ich gerade bin. Das rufe ich mit einer SQL abfrage ab das geht aber auch alles, denn der Link der wird ja richtig angezeigt nur eben nicht in die DB eingetragen bzw. übernommen.
Wovon wird das nicht übernommen?
ja von dem Link oder was weiß ich, wenn ich das wüsste, dann wurde ich das ja ändern, so dass er das übernimmt und auch in die Tabelle in der Datenbank einträt.
Nein. Ich bin ein bisschen doof. Genauso wie Dein Server. Du musst mich sehr genau mit dri bis vier Sätzen ins Bild setzen, was eigentlich die Aufgabe ist, welches die Ausgangssituation und wo dann der Problemfall beginnt.
Die Aufgabe soll sein mit dem Link was ich gleich schreiben werde den Aktuellen Benutzter zu übernehmen vom dem ich auch gerade auf der Seite bin und das steht eben in $_data['benutername']; drin. Das weiß ich weil wenn ich mit der Maus über den Link fahre das richtig angezeigt wird. Wenn ich aber nun in die DB schaue, dann steht unter "User" nichts drin.
hab keine Oma :-) Von daher kann ich Ihr leider auch nichts mehr erklären :-)
Gruß aylibII
Hello,
Kenn ich nicht, was ist $_data['benutername']? woher kommt das? Wann ist das gültig?
was kannst du nicht? Die $_data['benutername']; ist dafür da dass ich erfahre auf welchem Profil ich gerade bin. Das rufe ich mit einer SQL abfrage ab das geht aber auch alles, denn der Link der wird ja richtig angezeigt nur eben nicht in die DB eingetragen bzw. übernommen.
Ich kenne Deine Variablen nicht, ich weiß nicht, in welchem Zsammenhang sie geladen werden, wann und wo sie gültig sind...
Weißt Du, mein Problem ist, dass ich vermute, sehr genau zu wissen, was Du erreichen willst und wie sehr Du noch schwimmst. Und ich weiß auch, dass ich Dir dann helfen könnte. Nun ist dieses Forum aber dafür da, Verständnis zu schaffen. Das bedeutet zwar nicht, dass man keine Tipps gibt, aber es setzt voraus, dass Du erst einmal in einer allgemein gebräuchlichen Sprache (Voreinstellung ist hier Deutsch) in sauberen Sätzen artikulierst, was eigentlich Status Quo ist und was nun neues hinzukommen soll.
Beispiel:
Ich habe eine Community, in der ich mittels einer MySQL Tabelle ein Gästebuch
für alle User (jeder seines) realisieren will.
Wenn nun ein User A angemeldet ist am System, dann soll er Gästebucheinträge
schreiben können.
Der Beitrag soll immer für denjenigen User B registriert werden, auf dessen Seite
(Profil) User A gerade steht.
Mein Problem ist nun ...
(bitte fortsetzen)
Und den ganzen Code kannst Du Dir beim ersten Posten zu einem solch komplexen Problem erstmal sparen. Wenn Dir jemand bei den "fünf Stätzen zum Ziel" folgen konnte, wird er schon nachfragen, wenn Code dann doch notwendig sein könnte.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
NEIN du verstehst gar nichts. Ist auch egal. Ich mach das hier nimmer.
Hello,
NEIN du verstehst gar nichts. Ist auch egal. Ich mach das hier nimmer.
Warum schreist Du mich denn an?
Ich habe ganz ruhig und sachlich versucht, Dir zu helfen.
Ich habe Dir ein Beispiel geschrieben, wie Du uns erklären könntest, was Du erreichen willst.
Hast Du keine Erziehung genossen?
Spul doch einfach nochmal zurück, und versuche _Deine_ Rahmenbedingugnen in saubern verständlichen Sätzen mitzuteilen. Ein paar Minuten Überlegung wird Dir das doch wohl wert sein, oder?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Moin,
NEIN du verstehst gar nichts. Ist auch egal. Ich mach das hier nimmer.
Jaybill Du verstehst nicht, dass wir Dir wirklich mehrere Hinweise gegeben haben um Dein Problem zu lösen.
Es gibt keine Vordefinierte Variable namens $_data:
Siehe hierzu das offizielle Handbuch:
http://de.php.net/manual/de/language.variables.predefined.php
Wenn Du also über $_data['benutzername'] redest solltest Du zumindest verraten woher diese Variable kommt.
2. Du redest über Communnity und Forum.
Hilfreich könnte sein, wenn Du uns verräts wer diese Community produziert hat, und um welche Forensoftware es sich handelt.
Dies schrieben ich Dir hier schon mehrfach..
Viele Grüße aus Berlin
Hallo,
Jaybill Du verstehst nicht, dass wir Dir wirklich mehrere Hinweise gegeben haben um Dein Problem zu lösen.
Es gibt keine Vordefinierte Variable namens $_data:
Siehe hierzu das offizielle Handbuch:
http://de.php.net/manual/de/language.variables.predefined.php
Wenn Du also über $_data['benutzername'] redest solltest Du zumindest verraten woher diese Variable kommt.
Das Data kommt von :
if(isset($_GET['user']))
{
$sql = "SELECT
*
FROM
userdaten
WHERE
benutzername = '".strtolower(addslashes($_GET['user']))."'
";
$result = mysql_query($sql);
$_data = mysql_fetch_assoc($result);
- Du redest über Communnity und Forum.
Hilfreich könnte sein, wenn Du uns verräts wer diese Community produziert hat, und um welche Forensoftware es sich handelt.
Das Forum und auch die Community haben wir selber gemacht. Wir sind 3 Leute die das machen. Das heißt also dass wir nichts fertiges haben. Alles selber gemacht.