# Steckbrief mit MySQL



## webgnom (23. September 2003)

Hallo Leute!

Ich hätte da mal noch ne Frage!
Auf meiner HP würde ich gerne für ein paar Leute nen Steckbrief machen, damit man sich nich aus den Augen verliert, d.h. mit Adresse usw...

Da man ja mal umzieht oder so würde ich das gerne so enrichten, dass jeder seine Daten selber ändern kann, nachdem er sich eingeloggt hat. 

Wie kann ich das mit PHP und SQL realisieren?

Bin für jede Idee dankbar, auch im Voraus ;-)

MfG

Webgnom


----------



## McKnolli (28. Dezember 2003)

bräuchte auch so etwas


----------



## splat (31. Dezember 2003)

hola!

Ich habe kürzlich auch so etwas gebastelt. Zum einloggen habe ich ein Tutorial auf der Seite hier genommen. Das Tutorial mit dem login system. Das schaut ihr euch am besten mal zuerst an.. Dann könnt ihr in eurer Datenbank nach belieben Spalten wie alter, adresse.. etc zusätzlich adden. Das ändern der Daten geht über ein Formular mit Textfeldern die bereits mit dem Daten aus der db gefüllt sind. Natürlich nur die Daten für den jeweiligen User (where Id='xy'). Dann wird alles an das script geschickt und das updated dann alle Felder, ob sie geändert wurden oder nicht.

- Marc


----------



## ultrasonic (31. Dezember 2003)

Moin webgnom,

Macht euch doch erstmal gedanken was ihr braucht ( konzept)

Überlegt euch wie ihr die Sache angehen wollt
i.e.
Loginscripte
Steckbriefe anzeigen ....mit Link auf->
Steckbriefe bearbeiten/löschen

oder anzeigen/bearbeiten/löschen in einem Script

ggf. mit Bilder upload etc

Guten Rutsch

Ultrasonic


----------



## McKnolli (31. Dezember 2003)

> _Original geschrieben von splat _
> *hola!
> 
> Ich habe kürzlich auch so etwas gebastelt. Zum einloggen habe ich ein Tutorial auf der Seite hier genommen. Das Tutorial mit dem login system. Das schaut ihr euch am besten mal zuerst an.. Dann könnt ihr in eurer Datenbank nach belieben Spalten wie alter, adresse.. etc zusätzlich adden. Das ändern der Daten geht über ein Formular mit Textfeldern die bereits mit dem Daten aus der db gefüllt sind. Natürlich nur die Daten für den jeweiligen User (where Id='xy'). Dann wird alles an das script geschickt und das updated dann alle Felder, ob sie geändert wurden oder nicht.
> ...



Das Login-Tut hab ich schon gelesen und auch bei meiner Seite angewendet...Ich bräuchte ein Steckbrief-Script für die Homepage meiner Schulklasse, also für Lehrer und Schüler....


----------



## splat (31. Dezember 2003)

Mach dir erstmal ein Konzept wie es ultrasonic schon gesagt hat. Du hast doch sicher schon Vorstellungen wie das ganze auszusehen hat, oder? 

Hier wär mal ein simples Beispiel, das könnte man ganz schnell machen:

Das Interne, wo du die daten änderst:








und schliesslich die Infos auf der Homepage:


----------



## McKnolli (1. Januar 2004)

Also, im Admin Menü sollte das ungefähr so aussehen:





Und auf der Website so:





Tja und bei den Schülersteckbriefen genauso, halt nur mit 1-2 Angaben mehr.
Hoffe ihr habt jetzt verstanden, wie ich das meine 

Btw, wünsch euch allen noch n frohes neues Jahr.


----------



## splat (1. Januar 2004)

Dir auch ein Frohes neues Jahr 


intern.php


```
<?
include ("checkuser.php"); 

$userid = $_SESSION['user_id'];
mysql_connect("localhost", "user", "pass")or die ("keine Verbindung möglich:" .mysql_error());
mysql_select_db("dbname");

$result = mysql_query("SELECT name, fach, an_schule_seit FROM benutzerdaten WHERE Id='$userid'");
$row = mysql_fetch_array($result);

$Name = $row[name];
$Fach = $row[fach];
$An_schule_seit = $row[an_schule_seit];
?>

<html>
<head>
<title></title>
</head>
<body bgcolor="#006600" link="#000000" vlink="#000000" alink="#000000">
</body>
<form action="update.php" type="post">
<p align="center">Name: <input type="text" NAME="name" VALUE ="<? echo "$Name"; ?>" size=50 maxlength=50></p>
<p align="center">Fächer: <input type="text" NAME="fach" VALUE ="<? echo "$Fach"; ?>" size=50 maxlength=50></p>
<p align="center">an der Schule seit: <input type="text" NAME="an_schule_seit" VALUE ="<? echo "$An_schule_seit"; ?>" size=50 maxlength=50></p>
<p align="center"><input type="submit" value="speichern"></p>
</form>
</html>
```

update.php (script)


```
<?
include ("checkuser.php");
$userid = $_SESSION['user_id'];

mysql_connect("localhost","user","pass"); 
mysql_select_db("dbname"); 
mysql_query("UPDATE benutzerdaten SET name='$Name', fach='$Fach', an_schule_seit='$An_schule_seit' WHERE Id = '$userid'");
mysql_close();
?>

<html>
<head>
<meta http-equiv="refresh" content="0; URL=intern.php"> 
</head>
</html>
```

so, das wär ne Möglichkeit das zu realisiern. Kannst du ja ändern wie du möchtest, genauso kannst du ja selbst die andern Felder hinzufügen.
Auf der Seite musst du die Daten auch nur auslesen, aber das wirst du schon hinkriegen, oder? 

greetz, marc


----------



## ultrasonic (1. Januar 2004)

Na also geht doch 

... ein gutes neues

Mfg
Ultrasonic


----------



## McKnolli (1. Januar 2004)

danke, aber ich bekomm folgende fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/ouso/admin/action/lehrersteckbriefe.php on line 9


----------



## splat (1. Januar 2004)

Was haste denn in der Zeile 9 stehen?

paste am besten mal dein script

Haste deine Datenbank auch an alles angeglichen?


----------



## ultrasonic (1. Januar 2004)

Haste den schon Datensätze drin?

falls nein dann mache ein '@' vors Fetch_array

also:


```
$row = @mysql_fetch_array($result);
```


Bzw.

Wenn dein Scripte startet erwartet die Selectanweisung  in intern.php eine userid , oder

z.B. Intern.php?userid=1  .


Wird 

```
$userid = $_SESSION['user_id'];
```
  aus der 
include ("checkuser.php"); 

überhaupt ausgelesen?


gruß
Ultrasonic


----------



## McKnolli (1. Januar 2004)

Scheint funktioniert zu haben, danke.
Aber wo werden jetzt die ganzen Einträge gespeichert? und wie kann ich sie später bearbeiten? Außerdem hab ich kein Plan wie ich die dann auf der HP auslesen lassen kann.
Sorry, bin noch ganz am Anfang PHP zu lernen, soweit bin ich noch nicht


----------



## ultrasonic (1. Januar 2004)

Das ist m ir schon klar 

Ich wollte erstmal sehen ob du dir schon mal gedanken drüber gemacht hast.


Die einträge sollten nartürlich in der Tabelle die du doch Hoffentlich angelegt hast gespeichert


Hast du schon die Tabelle angelegt?


auslesen aller Datensätzemit :


```
$result = mysql_query("SELECT * FROM benutzerdaten ORDER BY `name` ASC");
 while ($row = @mysql_fetch_array($result)){
 echo $row[id];
 echo $row[fach];
 echo $row[an_schule_seit];
 }
```


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *Das ist m ir schon klar
> 
> Ich wollte erstmal sehen ob du dir schon mal gedanken drüber gemacht hast.
> ...



ähm...nein 
Ich blamier mich hier  grade sicher total....naja, bin halt n


----------



## ultrasonic (1. Januar 2004)

Qutasch 

hast du überhaupt eine Mysql Datenbank?
Würde sagen , lege Dir erstmal die Db und die Tabellen bevor wir weiter machen.

B


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *hast du überhaupt eine Mysql Datenbank? *



ja klar


----------



## ultrasonic (1. Januar 2004)

und die Tabelle?


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *und die Tabelle? *



ne...ich kenn mich auf dem bereich nun fast gar nicht aus 
Hab lediglich mal ein WBB2 installiert, aber das wars dann auch schon.


----------



## ultrasonic (1. Januar 2004)

Also, als erstens sollten wir klären ob Du das auf einem Webspace liegen hast du bei dir Local.


Welches Mysql Frontend benutzt Du?

phpmysqladmin


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *Also, als erstens sollten wir klären ob Du das auf einem Webspace liegen hast du bei dir Local.
> 
> 
> ...



all-inkl.com ; phpmysqladmin


----------



## ultrasonic (1. Januar 2004)

na also

Weist Du wie man mit phpmyadmin eine Tabelle erstellt?


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *na also
> 
> Weist Du wie man mit phpmyadmin eine Tabelle erstellt? *



wie man eine erstellt weiß ich, aber nich was man da alles eingeben muss


----------



## ultrasonic (1. Januar 2004)

Überlege Dir welche felder du brauchst

z.B.

userid
name
vorname
gebdatum
klasse
fach
an_schule_seit
etc.

mach dir mal gedanken


----------



## McKnolli (1. Januar 2004)

ja also für die lehrer bräuchte ich:

userid
vorname
nachname
fach
an schule seit

und für die schüler:
userid
vorname
nachname
wohnort
geburtsdatum

bei beidem sollte jeweils für jede einzelne person noch n bild rein, aber das ist was anderes,ne?


----------



## ultrasonic (1. Januar 2004)

dann solltest Du dir gleich zwei tabellen anlegen 
eine für Lehrer und eine für schüler


CREATE TABLE `benutzerdaten_lehrer` (
  `userid` int(11) NOT NULL auto_increment,
  `vorname` varchar(50) NOT NULL default '',
  `name` varchar(50) NOT NULL default '',
  `fach` varchar(50) NOT NULL default '',
  `an_schule_seit` varchar(50) NOT NULL default '',
  `klassen` varchar(10) NOT NULL default '',
  PRIMARY KEY  (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


CREATE TABLE `benutzerdaten_schueler` (
  `userid` int(11) NOT NULL auto_increment,
  `vorname` varchar(50) NOT NULL default '',
  `name` varchar(50) NOT NULL default '',
  `wohnort` varchar(50) NOT NULL default '',
  `gebutsdatum` varchar(10) NOT NULL default '',
  PRIMARY KEY  (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

als weiters würde ich dir ans Herz legen dich mit der Materie PHP/Mysql näher zu befassen und dir ein Buch zu kaufen oder zu leihen.

(Das was Du da vor hast ist nicht gerade die einfachst Übung für einen Anfänger)



PS : Ich muss jetzt auch mal kurz weg.
Bin dann so gegen 20.00 wieder da.

biss dann
Ultrasonic


----------



## McKnolli (1. Januar 2004)

> _Original geschrieben von ultrasonic _
> *dann solltest Du dir gleich zwei tabellen anlegen
> eine für Lehrer und eine für schüler
> 
> ...



Ok, is gemacht, dankeschön.
Ich muss jetzt auch weg, bis später (hfoffentlich ).


----------



## ultrasonic (1. Januar 2004)

melde dich dann einfach per email( das höre ich wenigstens)


----------



## splat (2. Januar 2004)

Weisst du/ihr schon wie man das mit dem Bilder Upload realisiert?


----------



## ultrasonic (2. Januar 2004)

@McKnolli
Sorry hat gestern nicht mehr geklappt

bin ab 15.00 auf der Arbeit  und melde mich dann per icq

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


Ich nehme das immer


```
<?
$abpath = "/images"; // Pfad der Biilddateine
$sizelim = "no"; // Filelimit   Yes/No
$size = "2500000000"; // filelimit

if ($_REQUEST['submitted']){

$cert1 = "image/pjpeg"; //Jpeg type 1
$cert2 = "image/jpeg"; //Jpeg type 2
$cert3 = "image/gif"; //Gif type
$cert4 = "image/ief"; //Ief type
$cert5 = "image/png"; //Png type
$cert6 = "image/tiff"; //Tiff type
$cert7 = "image/bmp"; //Bmp Type

$log = "";

for ($i=0; $i<1; $i++) {

        //checks if file exists
        if ($img_name[$i] == "") {
                $log .= "Du hast kein Bild zum Uploaden ausgewählt $i<br>";
        }

        if ($img_name[$i] != "") {
                //checks if file exists
                if (file_exists("$abpath/$img_name[$i]")) {
                        $log .= "Die Datei  $i exsistiert bereits<br>";
                } else {

                        //checks if files to big
                        if (($sizelim == "yes") && ($img_size[$i] > $size)) {
                                $log .= "File $i ist zu groß<br>";
                        } else {


                                //Checks if file is an image
                                if (($img_type[$i] == $cert1) or ($img_type[$i] == $cert2)
                                or($img_type[$i] == $cert3) or ($img_type[$i] == $cert4)
                                or ($img_type[$i] == $cert5)or ($img_type[$i] == $cert6)
                                or ($img_type[$i] == $cert7)) {
                                        @copy($img[$i], "$abpath/$img_name[$i]")
                                        or $log .= "Konnte die Datei nicht auf den Server hochladen<br>";
                                        if (file_exists("$abpath/$img_name[$i]")) {
                                                $log .= "Die Datei wurde hochgeladen<br>";
                                        }
                                        } else {
                                                $log .= "Die Datei ist kein Bildformat<br>";
                                        }
                                }
                        }
                }


        }

?>

<html>
<head>
<title>Image Report</title>
</head>
<body>
<p>Log:<br>
<?

echo "$log";

?>
</p>
<body>
</html>
<?
exit;
} // End processing portion of script
?>

<html>
<head>
<title>Upload Image</title>
</head>
<body>
<form method=POST name="upload" action=upload.php enctype=multipart/form-data>
<p>Bilder Upload:<br>
<?

for ($j=0; $j<$number_of_uploads; $j++) {
?>
<input type=file name=img[] size=30><br>
<?
}
?>
<input type="hidden" name="submitted" value="true">
<input type="submit" name="upload" value="Upload">
</form>
</body>
</html>
```


----------

