000
06.02.2002, 18:33
Megge
|
$query = mysql_query("SELECT * FROM news order by news_id DESC "); while ($newspost = mysql_fetch_array($query)) { $user_mail = mysql_query("SELECT * FROM user WHERE user_name='$newspost[news_poster]'"); if(mysql_num_rows($user_mail)==1) { $poster_email = $user_email; } eval($bframe->GetTemplate("CONTENT")); } // // angezeigt wird nix // was hab ich falsch gemacht ? // // das sollte gut sein, um bei nem newsscript die email adresse des posters // anzeigen zu lassen. der postername ist schon fix beim newspost mitge- // speichert. da die email jedoch änderbar ist, möcht ich sie direkt aus den // userdaten des jeweiligen users herauslesen. //
--
|
|
Profil || Suche
|
001
06.02.2002, 18:48
Megge
|
ich habs nu ein wenig umgeändert
<? include("header.php"); include("templates.head.php"); include("config.head.php"); $frame = new Template("templates/frame.html"); $aframe = new Template("templates/news.html"); $bframe = new Template("templates/newspost.html"); $cframe = new Template("templates/usermenu.html"); $query = mysql_query("SELECT * FROM news order by news_id DESC "); while ($newspost = mysql_fetch_array($query)) { $user_mail = mysql_query("SELECT user_email FROM user WHERE user_name='$newspost[news_poster]'"); $poster_email = mysql_fetch_array($user_mail); eval($bframe->GetTemplate("CONTENT")); } eval($cframe->GetTemplate("USERMENU")); eval($aframe->GetTemplate("NEWSSCRIPT")); eval($frame->GetTemplate()); ?>
ergebnis:
[b]in der templatedatei[/b] [i]<a href="$poster_email">$newspost[news_poster]</a>[/i] [b]wenn ich über den link fahre:[/b] [i]mailto:Array[/i] edit: es wird jedoch der richtige name, des newsposters angezeigt.
da könnt man glatt ein :confused: setzen..
--
Dieser Beitrag wurde am 06.02.2002 um 18:49 von Megge bearbeitet.
|
|
Profil || Suche
|
003
06.02.2002, 19:00
Megge
|
dann kommt nur noch mailto:
--
|
|
Profil || Suche
|
004
06.02.2002, 19:08
Archangel
|
ähm..
$query = mysql_query("SELECT * FROM news order by news_id DESC "); while ($newspost = mysql_fetch_array($query)) { $user_mail = mysql_query("SELECT * FROM user WHERE user_name='$newspost[news_poster]'"); if(mysql_num_rows($user_mail)==1) { $poster_email = $user_email; }
sollte es nicht heißen: $query = mysql_query("SELECT * FROM news order by news_id DESC "); while ($newspost = mysql_fetch_array($query)) { $user_mail_query = mysql_query("SELECT * FROM user WHERE user_name='$newspost[news_poster]'"); if(mysql_num_rows($user_mail_query)==1) {
$user_email = mysql_fetch_array($user_mail_query); $poster_email = $user_email[0]; }
--
Mar 01 01:10:13 <voice> jo Mar 01 01:10:40 <voice> bis dann ^^ Mar 01 01:11:20 <Archangel> jo **** ENDING LOGGING AT Tue Mar 1 01:58:13 2005
|
|
Profil || Suche
|
005
06.02.2002, 19:38
TheTinySteini
|
while ($newspost = mysql_fetch_array($query)) { $user_mail = mysql_query("SELECT user_email FROM user WHERE user_name='$newspost[news_poster]'"); $poster_email = mysql_fetch_array($user_mail); eval($bframe->GetTemplate("CONTENT")); }
... is richtig, aber:
<a href="$poster_email[color="#ff0000"][0][/color]">$newspost[news_poster]</a>
Und nur so nebenbei: Es ist normalerweise günstiger (weil viel schneller), wenn du anstatt in den Newsposts den Namen des Posters zu speichern und dann anhand des Namens die E-Mail-Adresse rauszusuchen, eine Zahl zu speichern, die die ID des Users in deiner user-Datenbank angibt. Man sollte sowieso jeden Datenbank-Eintrag mit einer ID versehen (und die als unique, index und primary key einstellen). Verknüpfung zwischen den einzelnen Datenbanken sollte dann nur mit diesen IDs laufen.
Editiert wegen Inkompatibilität zum ThWboard-Code :-|
--
TheTinySteini Coder Poke646 "Don't Panic" - Hitchhiker's Guide to the Galaxy
Dieser Beitrag wurde am 06.02.2002 um 19:42 von TheTinySteini bearbeitet.
|
|
Profil || Suche
|
006
06.02.2002, 19:42
Kriz
|
Man nennt datt auch DB-Normalisierung =)
--
K:R-I)Z++ "CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp In memory of Voice ( 2005/03/30)
|
|
Profil || Suche
|
007
06.02.2002, 19:46
TheTinySteini
|
Genau das. Aber unter dem Wort kann sich doch keiner was vorstellen =)
--
TheTinySteini Coder Poke646 "Don't Panic" - Hitchhiker's Guide to the Galaxy
|
|
Profil || Suche
|
008
06.02.2002, 19:50
Megge
|
...und mich nennt man newbie :) edit: danke ttt, es fuunzt :)
edit: ja @ttt, ich hab schon jeder news ne news_id und jedem user ne user_id gegeb, zu beginn, als ich angefangen hab mit dem script, aber da ich noch ned an sowas gedacht hab, hab ich da zuerst ma einfach den user_namen als identifizierung gespeichert. jetzt wo ich tiefer auf den news_poster eingreife, könnte sich das als nützlich erweisen, ist ja nur ein kleiner eingriff in den code und die datenbank ein kleinwenig umschreiben.
--
Dieser Beitrag wurde am 06.02.2002 um 19:55 von Megge bearbeitet.
|
|
Profil || Suche
|
009
06.02.2002, 20:21
Megge
|
neues problem :) bin noch ned so der crack.. hier der code aus postnews.php
<? include("header.php"); include("config.head.php"); include("templates.head.php"); $frame = new Template("templates/frame.html"); if ($user_logged_in == "1") { $checkuser = mysql_query("SELECT user_id FROM user WHERE user_name='$cookie_user_name' AND user_pass='$cookie_user_pass"); if(mysql_num_rows($checkUser)==1) { $poster_id = mysql_fetch_array($checkuser); $current_date = date("d M Y"); $current_time = date("H:i"); $aframe = new Template("templates/postnews.html"); } else { $aframe = new Template("templates/message.html"); $err_msg = "<b>Fehler:</b><br>Ihre user ID konnte nicht ermittelt werden.</font>"; $err_clr = "red"; $err_link = "javascript:history.back()"; } } else { $aframe = new Template("templates/message.html"); $err_msg = "<b>Fehler:</b><br>Sie haben keine Berechtigung News zu Posten</font>"; $err_clr = "red"; $err_link = "javascript:history.back()"; } eval($aframe->GetTemplate("NEWSSCRIPT")); eval($frame->GetTemplate()); ?>
was dabei rauskommt:
Warning: Supplied argument is not a valid MySQL result resource in e:\server\www\postnews.php on line 11 // // und dann der rest der page.. (also das template postnews.html) //
kann mir da wer weittter helfen ? ;D
--
|
|
Profil || Suche
|
010
06.02.2002, 20:26
RockingRolli
|
$checkuser = mysql_query("SELECT user_id FROM user WHERE user_name='$cookie_user_name' AND user_pass='$cookie_user_pass'");
--
|
|
Profil || Suche
|
011
06.02.2002, 20:52
Megge
|
juchuu, danke, es fuunzt :) bis zum nächsten fehler %D
--
|
|
Profil || Suche
|
012
07.02.2002, 10:43
apfelkorn
|
übrigens ist eval schrecklich, weil fehlerbehaftet und es verführt zu unsauberem coding... paulemann ist da leider auch schon reingefallen, was man daran sieht, das er einfach nur irgendwo im code eine variable definiert und die dann vom php automatisch geparst wird. das is ein riesengroßes scheunentor für böswillige.
--
|
|
Profil || Suche
|
013
07.02.2002, 12:33
Megge
|
was ist dieses eval überhaupt ?
--
|
|
Profil || Suche
|
014
07.02.2002, 12:37
Zeeke
|
http://www.php.net/manual/de/function.eval.php
--
Dieser Beitrag wurde am 07.02.2002 um 12:37 von ZeekeGF bearbeitet.
|
|
Profil || Suche
|
015
07.02.2002, 17:12
TheTinySteini
|
Oder kürzer: www.php.net/eval
--
TheTinySteini Coder Poke646 "Don't Panic" - Hitchhiker's Guide to the Galaxy
|
|
Profil || Suche
|