Daten auslesen |
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
Also:
Nehmen wir mal das Bsp.
Ich schau mir eine Memberlist an! alle Usernamen sind anklickbar! Wenn ich auf einen Usernamen klicke, soll sich ein popup öffnen <<< das hab ich ja auch soweit > und es sollen sich dann die daten des angeklickten users dort einfinden! der popup link ist ?action=username (username vom angeklickten profil)
Bsp.
?action=test wie sag ich dem popup aber das er von user test die daten auslesen soll?
Ich kann ja nicht im phpcode schreiben username=test und ich kann ja nicht für jeden user eine php.datei anlegen... bitte helft mir mal!
|
 Profil
Editieren
Zitieren
|
HoRnominatoR
Mausakrobat
Beiträge: 161 |
SELECT feld FROM tabelle WHERE nick = $_GET['username']
hast du natuerlich das problem mit SQL-injections, also vorher immer pruefen ob der name auch gueltig ist und keine unerwarteten backslashes enthaelt.
---
get OPERA for free
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
Dafür gibt es ja dann Funktionen wie zB mysql_real_escape_string(). Außerdem kommen Strings auch in SQL in Anführungszeichen.
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
also meinst du in etwa so?
1:
2: | $abfrage = "SELECT name FROM users WHERE name = $_GET['name']";
$ergebnis = mysql_query($abfrage); |
und ausgeben tu ich das ganze so?
|
 Profil
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld
Beiträge: 832 |
1:
2:
3:
4:
5:
6:
7:
8:
9: |
while ($daten = mysql_fetch_array ($ergebnis) {
echo $daten['username'];
echo $daten['icqnummer'];
echo $daten['email'];
}
|
|
 Profil
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
$abfrage = "SELECT name FROM users WHERE name = '".mysql_escape_string($_GET['name'])."'";
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
hm das will aber nich grrrr
die tabelle bleibt leer also ich hab das jetzt so gemacht, dass die user alle auf der members.php angezeigt wird!
verlinkt sind die user alle mit: href=profil.php?user=$row->username
so ist das doch richtig? jedenfalls sieht der endlink dann so aus:
profil.php?user=test oder
profil.php?user=test2
jenachdem wo ich drauf klicke auf welchen user
jetzt soll aber die profil.php herausfinden welchen user ich angeklickt habe! sprich der profil.php soll gesagt werden
?user=test oder
?user=test2
ich hoffe ihr versteht wie ich das meine :(
thx
|
 Profil
Editieren
Zitieren
|
HoRnominatoR
Mausakrobat
Beiträge: 161 |
mit scheint eher, du hast die antwort nicht verstanden - denn ueber nichts anderes reden wir die ganze zeit. lass dir mal die fehler ausgeben. das es nicht funktioniert, liegt nicht an uns.
mysql_query() or die(mysql_error());
---
get OPERA for free
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
hm ja es gibt kein fehler! der ausser dass die Tabelle leer bleiben tut!
der zeigt also keine Daten an... nix - null - etc
|
 Profil
Editieren
Zitieren
|
Thodi
Fachidiot
Beiträge: 101 |
Hallo zusammen ich habe ein problem ich habe seit 1 woche angefangen mich mit datenbanken zu beschaffen und wollte jetzt ein parr daten speichern.
ok ich habe es über php myadmin getan das eintragen und wollte sie jetzt auslesen aber das geht nicht .hier ist mein script.
Ich bekomme ja die verbindung und ich habe in der tabelle Mitglieder nur 3 spalten also die id dann username , wohnort ,
weil ich arbeite mit phpmyadmin .
und das script habe ich auch schon versucht aus einer hilfe leiste im forum aber geht trozdem nicht .sagt nur das er verbunden ist mit der datenbank.
weil ich habe ja eine if abfrage gemacht wenn die datenbank nicht funktionieren sollte.
Hier das Script
$link = mysql_connect("host","U","passwort");
if( !$link )
{
echo "Konnte keine Verbindung aufbauen";
}
else
{
echo "Sie sind nun verbunden mit der datenbank";
}
$Data = mysql_select_db("DB");
if( !$Data )
{
echo "Die Datenbank gibt es nicht";
}
else
{
echo "Sie sind verbunden";
}
$query = "SELECT * FROM Mitglieder WHERE 1 LIMIT 0 , 30";
$result = mysql_query ( $query);
$datensatz = mysql_fetch_row ( $result);
while ($row=mysql_fetch_array($result))
{
echo $row['passwort'];
}
?>
Wie ihr seht habe ich eine if abfrage gemacht und die datenbank ist erfolgreich gestartet.
aber ich bekomme die datensätze nicht .meine tabelle heißt Mitglieder und habe 2 zeilen username und password und die wollte ich ausgegeben haben.
Kann mir da einer helfen bitte.
Vielen dank im voraus.
|
 Profil
E-Mail
Editieren
Zitieren
|
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
Hi probier es mal so...:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14: |
// Datenbank Variablen oder die connect.php
$dbname = "name"; // Name der Datenbank
$dbuser = "username"; // Username des Datenbankbenutzers
$dbpass = "passwort" ; // Passwort des Datenbankbenutzers
$dbserver = "localhost"; // Server des Users
$db = @mysql_connect($dbserver,$dbuser,$dbpass); // Verbindung zur Datenbank mit den oben genannten Variablen herstellen.
mysql_select_db($dbname,$db);
//in deinem fall...:
$abfrage = "SELECT username, password FROM Mitglieder";
$ergebnis = mysql_query($abfrage,$db);
?> |
um das ganze jetzt noch ordenlich darzustellen würd ich eine tabelle mit einbauen.
dann würde das ganze so aussehen:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: |
// Datenbank Variablen oder die connect.php
$dbname = "name"; // Name der Datenbank
$dbuser = "username"; // Username des Datenbankbenutzers
$dbpass = "passwort" ; // Passwort des Datenbankbenutzers
$dbserver = "localhost"; // Server des Users
$db = @mysql_connect($dbserver,$dbuser,$dbpass); // Verbindung zur Datenbank mit den oben genannten Variablen herstellen.
mysql_select_db($dbname,$db);
//in deinem fall...:
$abfrage = "SELECT username, password FROM Mitglieder";
$ergebnis = mysql_query($abfrage,$db);
echo " ";
echo" Username | Passwort | ";
while($row = mysql_fetch_object($ergebnis))
{
echo" $row->username | $row->password | ";
}
?>
mit "$row->..." liest du alle einträge die sich in dieser spalte befinden aus.
um nur von einer Person diese Daten auszulesen musst du folgendes schreiben:
statt:
1:
2:
3: | $abfrage = "SELECT username, password FROM Mitglieder";
$ergebnis = mysql_query($abfrage,$db);
|
schreibst du ^^ diesen Bereich so:
1:
2:
3:
4:
5: | $abfrage = "SELECT username, password FROM Mitglieder Where username = '$username'";
$ergebnis = mysql_query($abfrage,$db);
$zeileholen = mysql_fetch_Array($ergebnis,MYSQL_ASSOC);
$username = $zeileholen["username"];
$password = $zeileholen["password"]; |
P.S.
ich würde dir aber für den weiteren weg, das stöbern in diversen php-foren und den besuch
auf www.schattenbaum.net/php empfehlen
Diese Nachricht wurde geändert von: Steff_O |  Profil
Editieren
Zitieren
|
Thodi
Fachidiot
Beiträge: 101 |
Danke schön
|  Profil
E-Mail
Editieren
Zitieren
|
Thodi
Fachidiot
Beiträge: 101 |
Es geht geil !aber noch eins wie kann ich es machen das sich einer per formular in die datenbank eintagen kann bzw er gibt name an und vorname und so weiter wie geht es dann???
Mit Freundlichen gruß Thorsten
|  Profil
E-Mail
Editieren
Zitieren
|
Thodi
Fachidiot
Beiträge: 101 |
sorry sollte aber heißen
|  Profil
E-Mail
Editieren
Zitieren
|
Steff_O
Pixelschubser Threadstarter
Beiträge: 6 |
in dem du eine register.php erstellst mit feldern die der user ausfüllen muss!
ich gehe mal davon aus wie man so ein formular etc erstellt!
Also hier nur das wesentliche > ähnlich wie beim 1. bsp.
aber auf www.schattenbaum.de ist sehr gut beschrieben!
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17: |
// Datenbank Variablen oder die connect.php
$dbname = "name"; // Name der Datenbank
$dbuser = "username"; // Username des Datenbankbenutzers
$dbpass = "passwort" ; // Passwort des Datenbankbenutzers
$dbserver = "localhost"; // Server des Users
$db = @mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname,$db);
$username = $HTTP_POST_VARS["username"]; //name des Inhalts im Formularfeld Username
$password = $HTTP_POST_VARS["password"] //name des Inhats im Formularfeld Passwort
$eintrag = "INSERT INTO Mitglieder (username) VALUES ('$username')";
$eintragen = mysql_query($eintrag,$db);
?>
|
Diese Nachricht wurde geändert von: Steff_O |  Profil
Editieren
Zitieren
|
|