Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
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.
//

--

zum Seitenanfang zum Seitenende Profil || Suche
001
06.02.2002, 18:48
Megge



ich habs nu ein wenig umgeändert
Quellcode:
<?
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:
Quellcode:
[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.
zum Seitenanfang zum Seitenende Profil || Suche
002
06.02.2002, 18:50
Archangel



$poster_email = $user_email;

das muss heißen:
$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

zum Seitenanfang zum Seitenende Profil || Suche
003
06.02.2002, 19:00
Megge



dann kommt nur noch mailto:

--

zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende Profil || Suche
005
06.02.2002, 19:38
TheTinySteini



Quellcode:
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:

Quellcode:
<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.
zum Seitenanfang zum Seitenende 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)

zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende 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.
zum Seitenanfang zum Seitenende Profil || Suche
009
06.02.2002, 20:21
Megge



neues problem :)
bin noch ned so der crack..
hier der code aus postnews.php
Quellcode:
<?
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:
Quellcode:
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

--

zum Seitenanfang zum Seitenende 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'");

--

zum Seitenanfang zum Seitenende Profil || Suche
011
06.02.2002, 20:52
Megge



juchuu, danke, es fuunzt :)
bis zum nächsten fehler %D

--

zum Seitenanfang zum Seitenende 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.

--

zum Seitenanfang zum Seitenende Profil || Suche
013
07.02.2002, 12:33
Megge



was ist dieses eval überhaupt ?

--

zum Seitenanfang zum Seitenende 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.
zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende Profil || Suche