Portal > Foren > PHP > PHP-Programmierung > Userdaten ausgeben, Loginsystem-Tutorial
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 05.12.2005, 15:39 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard

hallo ich grüsse euch,

so habe da mal eine frage und zwar benutze ich das sessionbasiertes Loginsystem schon lange und es funktioniert ausgezeichnet und die daten der zweiten datei werden auch ausgegeben.
nun möchte ich gern nur die daten von dem jeweiligen user der eingeloggt ist ausgeben.

hier die datei, ich habe diese gekürzt, das heisst es wird nur die anzeige aller einträge angezeigt:

PHP-Code:
<?php

if (!isset($page))
{
echo <<<Formularbereich
        <table class="banhin" align="left" cellpadding="20" border="0">
        <tr>
         <td>

        <form action="sky_del_testen.php?edit=sky_del_testen&page=edit" method="post">

        <h3>Besucher-Sky - Daten ändern oder löschen!</h3>
        <h4>Wähle Deinen Sky - Bannereintrag mit ID </h4>
        <select name="edit_id">
Formularbereich;

@include(
"inc/zugriff.inc.php");

 
$order="SELECT * FROM sb_skybanner ORDER BY Stundenbanner_Name,id";
                         
$result mysql_db_query($db_name,$order);
                           while(
$row=mysql_fetch_row($result))
                                   {
                               echo 
"<option value='$row[0]'>Banner >> ID $row[0] << &nbsp;&nbsp; $row[9] &nbsp;&nbsp; >> $row[5]</option>";
                                   }
echo <<<Formularbereich
    </select>

    &nbsp;&nbsp;<input type="Submit" class="submit" name="blubbtn" value="zur Änderung">
    </form>
     </td></tr></table>
Formularbereich;


mysql_close($db);
}

?>
und in diesem script teil soll dann nur noch die daten der einzelnen user angezeigt werden und nicht von allen usern:

echo "<option value='$row[0]'>Banner >> ID $row[0] << &nbsp;&nbsp; $row[9] &nbsp;&nbsp; >> $row[5]</option>";

wer könnte mir bitte einen tip geben,
wenn ihr noch infos braucht schreibt einfach.
ich hoffe es versteht mich jemand ich bin nicht só eine schreibnudel.

und noch eine frage an Ben warum ist bei euch immer ein unterstrich in den variablen für die daten und in der datenbank, also die feldnamen meine ich.

ich sage schon mal herzlichen dank für eine eventuelle antwort

es grüsst ganz herzlich

jenni

// edit by Jann Hendrik: php-Code-Tags hinzugefügt. Bitte beim nächsten Mal selber machen. Danke.

Geändert von Jann Hendrik (05.12.2005 um 15:50 Uhr)
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2005, 17:59 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Eigentlich fehlt nur eine WHERE Klausel in deiner SQL Abfrage.
PHP-Code:
$order="SELECT * FROM sb_skybanner WHERE id = ".$variable_mit_seiner_id_als_wert." ORDER BY Stundenbanner_Name,id"
das sollte alles sein
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 16:29 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard

Zitat:
Zitat von WarrenFaith
Eigentlich fehlt nur eine WHERE Klausel in deiner SQL Abfrage.
PHP-Code:
$order="SELECT * FROM sb_skybanner WHERE id = ".$variable_mit_seiner_id_als_wert." ORDER BY Stundenbanner_Name,id"
das sollte alles sein
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 16:31 Nach oben    #4
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Und weiter?
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 16:41 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard

hi,

ich sage ersteinmal herzlichen dank, für die info.

habe dies in die whereklausel eingefügt:
WHERE id = '".$id."'

es werden mir jetzt nicht mehr alle datensätze angezeigt, sondern nur der jeweilige datensatz von dem jenigen der eingeloggt ist, also id 7 stimmt mit der zweitentabelle über ein, also auch id7.
es sollen aber alle datensätze mit dem user id7 aus der tabelle zwei ausgegeben werden, also user id7 hat in der tabelle zwei, 6 einträge unter seinen usernamen und die hätte ich gern ausgegeben.
ich habe schon alle weil probiert mit AND _username = '".$_username."'
oder auch die variante id = '".$id->_username."' möchte einfach nicht funktionieren, das ist das einzige was ich noch nicht in die reihe bekommen habe zwei tabellen vernünftig auszugeben.
vielleicht habt ihr bitte noch einen tipp,

ich sage herzlichen dank

es grüsst ganz herzlich

jenny

http://www.jennyd.de
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 16:46 Nach oben    #6
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Code:
SELECT u.*, COUNT(p.*) AS postings
FROM users AS u, postings AS p
WHERE u.user_id = '.$id.' AND p.user_id = u.user_id
__________________
Gedanken aus Draht stricken einen Zaun.

Geändert von Lars (14.12.2005 um 14:20 Uhr)
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 23:45 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard

hi lars,
erstmal herzlichen dank für die schnelle antwort.

ich glaube ich setze mal die datenbanktabellen so wie sie aufgebaut sind mit rein, da versteht man es besser und man kann sich ein bild machen was in den zwei tabellen steht:

hier die erste also die logindaten:

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `sb_archiv_login`
--

CREATE TABLE `sb_archiv_login` (
`id` int(4) NOT NULL auto_increment,
`_username` varchar(50) NOT NULL default '',
`_passwort` varchar(35) NOT NULL default '',
`_anzahlLogins` int(7) NOT NULL default '1',
PRIMARY KEY (`id`),
KEY `_username` (`_username`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=39 ;

--
-- Daten für Tabelle `sb_archiv_login`
--

INSERT INTO `sb_archiv_login` VALUES (9, 'mama-tempo', 'c81e728d9d4c2f636f067f89cc14862c', 250 );
INSERT INTO `sb_archiv_login` VALUES (36, 'webfan', 'eccbc87e4b5ce2fe28308fd9f2a7baf3', 8 );
INSERT INTO `sb_archiv_login` VALUES (7, 'jennifer', 'c4ca4238a0b923820dcc509a6f75849b', 306 );


und hier ist die zweite tabelle, das ist die wo die daten ausgegeben werden sollen, also wieviel stundenbanner hat ein user und die sollen angezeigt werden wenn der user eingeloggt ist und nicht von allen

die zweite:



--
-- Tabellenstruktur für Tabelle `sb_skybanner`
--

CREATE TABLE `sb_skybanner` (
`id` bigint(20) NOT NULL auto_increment,
`Skyhoehe` int(4) default NULL,
`Skybreite` int(4) default NULL,
`Bannerzeit` int(9) default NULL,
`Freibanner` varchar(255) default NULL,
`_username` varchar(50) NOT NULL default '',
`Banner_akt` varchar(255) default NULL,
`Homepage_akt` varchar(255) default NULL,
`Textfarbe` varchar(9) default NULL,
`Stundenbanner_Name` varchar(255) default NULL,
`Zeit_akt` varchar(60) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM PACK_KEYS=1 AUTO_INCREMENT=169 ;

--
-- Daten für Tabelle `sb_skybanner`
--

INSERT INTO `sb_skybanner` VALUES (5, 240, 120, 720, 'http://www.jennid.de/sbhost/host/sky_frei2.gif', 'jennifer', 'http://www.christian-barby.de/sonnensystem-info120x240.gif', 'http://www.sonnensystem-info.de.vu', '#800000', 'www.jennid.de', '1133767089');
INSERT INTO `sb_skybanner` VALUES (6, 240, 120, 720, 'http://www.jennid.de/sbhost/host/sky_frei2.gif', 'jennifer', 'http://homepages.internet.lu/freeworld/B9.gif', 'http://homepages.internet.lu/freeworld/', '#800000', 'www.jennid.de', '1133773982');


also ich sage herzlichen dank für deine bemühungen

es grüsst ganz herzlich

jenny

Geändert von jenni (04.01.2006 um 19:34 Uhr)
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2005, 14:21 Nach oben    #8
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zwei Tips vorraus, ändere das Feld _password in der ersten Tabelle in CHAR(32), ein md5-Hash hat immer 32 Stellen. Zweitens solltest du die Tabellen besser über die User-ID verbinden, da ich davon ausgehe, dass der User seinen Namen ändern kann.

Und ansonsten halt so wie in meinem anderen Post.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2005, 16:03 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard

hi lars,

herzlichen dank für die rasche antwort.

so wollte dies versuchen CHAR(32) aber dies nimmt er nicht an schaltet automatisch wieder um auf varchar, habe aber die zahl auf 32 gesetzt.
so und die user können ihren namen nicht ändern, vielleicht spätermal wenn ich noch mehr in php/mysql stecke mache auch ein lehrgang im januar für php/mysql.

möchte erst mal die eine formel verstehen wie du sie geschrieben hast, der kopf raucht, hi,hi. ich glaube dann wird es auch etwas einfacher, naja wird schon.
arbeite auch gerade so ein büchlein durch (zugriff auf datenbanktabellen) von der frau bilke.

ist es möglich den code etwas näher zu erklären? damit ich die verzweigung auch meinem kopf klar machen kann

es grüsst dich und das forum-team ganz herzlichst

jenny
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2005, 20:38 Nach oben    #10
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Also, du hast die User-ID ($id). Es wird aus der User-Tabelle der Datensatz mit id = $id rausgesucht. Außerdem werden in der Banner-/Posting-/Wasauchimmer-Tabelle alle Datensätze gezählt, die ebenfalls diese ID haben. Die Summe dieser Datensätze wird dann in eine MySQL-Variable gepackt (postings).
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.01.2006, 19:41 Nach oben    #11
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard bin noch nicht weiter

hi lars,

erst nochmal herzlichen dank für die schnelle info,

bin aber leider auch noch nicht weiter, habe vieles probiert, macht aber nichts irgendwann klappt dies schon.

ab samstag besuche ich sowieso erstmal noch einen PHP/MySQL kurs auf der vhs mal schaun was da so los ist.

es grüsst ganz herzlichst

jenny
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.01.2006, 20:52 Nach oben    #12
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 7
Standard so habe es geschafft

also ich habe es geschafft, wenn der user eingeloggt ist, das er nur noch seine daten sieht und nicht mehr von allen usern.

und zwar, habe ich die sky_banner tabelle erweitert mit einem INT() Feld, da wird die user_id gespeichert und damit kann ich dann die daten abfragen.

was mir auch geholfen hat oder mich auf die idee gebracht hat, war der
<pre>print_r($_SESSION);</pre>'; Befehl damit konnte ich auch die sessionsdaten auf der geschützen seite auslesen oder was die session weitergibt oder mit nimmt.

wichtig ist auch das man den include befehl also:
PHP-Code:
include_once 'checkLogin.inc.php'
gleich nach dem <?php setzt sonst kann es sein das es auf anderen seiten fehlermeldungen hagelt.

so langsam steigt man dahinter, ist schon eine feine sache

ich sage euch allen nochmals für die hinweise ein herzliches danke schön.

es grüsst ganz herzlichst
jenny
jenni ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
fehler beim loginsystem mitch PHP-Programmierung 15 08.03.2006 13:44
kleines feines soap tutorial für php5 robo47 Literatur 5 24.01.2006 16:10
frage zu einem tutorial Steven Gerrard PHP-Programmierung 6 24.01.2006 13:51
Loginsystem mit Frames, Frage zum Tutorial Jan PHP-Programmierung 3 21.01.2006 21:26
[PHP] Ein sessionbasiertes Loginsystem Ben Tutorials 17 25.12.2005 21:07


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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