Hab ein Denkfahler?

tobiakexo

Grünschnabel
Hi leute...

Ich bin nu schon seid 5 tagen am suchen ob jemand das Thema mal angesprochen hat. Leider habe ich ncihts gefunden oder einfach nur übersehen.

Also ich schilder zuerst mal mein problem.

Ich habe eine Datenbank wo sich user Anmelden können etc.


ID | Name | E-mail
1 | Ich | keine@hnung.de
2 | bla | hmm@blööd.de

So und nun habe ich ein .php Seite wo ich alle Angemeldeten User in einer Tabelle ausgebe. Nun will ich (da die User mehr Informationen über sich reinschreiben können) eine Detailseite erstellen, wo dann Spezielle Informationen stehen (Wie auf jeder seite nen profil ;) )

Wie mache ich das?
 
Wo ist das Problem?
Kannst deinem SQL Statement doch mit einem WHERE id='1' versehen. Somit kommst du nur an die Daten von dem User mit der ID 1. Und wenn wir mal eben ein winziges bisschen kreativ werden fällt uns auf das wie die 1 durch einen Variablen Wert ersetzen können :suspekt:
 
hmm
1. du erweiterst die Tabelle um die Werte die du möchtest (Stadt, Alter etc)
2. du machst dir ne 2 php Seite (z.b. profil.php) und übergibst dieser die Userid ("profil.php?id=1" (oder halt 2 usw...))
3.
die Profil.php:
PHP:
<?php
// einbindung von mysql etc
if(!isset($id)){
print("Keine Userid Angegeben!");
exit;
}
$get=mysql_query("SELECT name,email,stadt,alter FROM user WHERE id=".$id);
$row = mysql_fetch_array($get);
print("Name:".$row['name']."<br>");
print("E-Mail:".$row['email']."<br>");
print("Wohnort:".$row['stadt']."<br>");
?>
Der Rest sollte sich ableiten lassen ;)
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\programme\appserv\www\cup-anmeldung neu\details.php on line 14

hmm in line 14 steht:

PHP:
$row = mysql_fetch_array($get);

Ich find den Fehler nicht wo hab ich den drin?

PHP:
<?php 

$host = "localhost";
$user = "root";
$password = "";
$dbname = "community";
$tabelle ="user";

$dbverbindung = mysql_connect ($host, $user, $password);

@mysql_select_db($datenbank, $conn);

if(!isset($id)){ 
print("Keine Userid Angegeben!"); 
exit; 
} 
$get = mysql_query("SELECT * FROM $tabelle WHERE id=".$id); 
$row = mysql_fetch_array($get); 
print("Name:".$row['name']."<br>"); 
print("E-Mail:".$row['mail']."<br>");
 
PHP:
<?php

$host = "localhost";
$user = "root";
$password = "";
$dbname = "community";
$tabelle ="user";

$conn = mysql_connect ($host, $user, $password);

@mysql_select_db($dbname, $conn);

if(!isset($id)){
print("Keine Userid Angegeben!");
exit;
}
$get = mysql_query("SELECT * FROM $tabelle WHERE id=".$id) or die(mysql_error());
$row = mysql_fetch_array($get);
print("Name:".$row['name']."<br>");
print("E-Mail:".$row['email']."<br>");

?>
 
Es wird keine $id gesetzt, vielleicht $_GET['id'] ?

Ich denke das Query kann man sauberer schreiben:
PHP:
$sql = "select * from `".$tabelle."` where `id` = '$id'";

Wobei ich absolut nicht verstehe warum für den Tabellenamen
nochmal extra ein Variable gesetzt werden muss und nicht
gleich ein select * from `namedertabelle` - ich meine das ist eine
weitere potentielle Fehlerquelle :)

p.s.: Hey Sway :-P
 
Zuletzt bearbeitet:
Joar sind warscheinlich die 'register_globals' die aus sind ... also $_GET['id'] nehmen.

Wie mein "Vormann" schon geschrieben hat
 
Zurück