formular für datenbankeinträge

  • hi,

    wie der titel ja schon sagt, ist meine frage, wie ich mit php oder html (is mir egal) ein formular erstelle, welches die daten die der user einträgt, dann in eine bestimmte datenbank übermittelt.

  • sehr gute antwort! grundsätzlich spitzenidee! aber das gegen formular, um die daten abzurufen aus der datenbank, habe ich ja auch mittels dieses forums gelernt! also dachte ich das es möglich ist, das hier jemand einfach den von mir benötigten code postet!?

  • sollen wir dir jetzt ne ganze page coden?
    ich könnte dir das formular coden aber würde dir das wirklich weiterhelfen?
    dann kommste morgen wieder und willst wieder irgendwas gecodet haben und irgendwie würde dann irgendwann die ganze page fertig sein wo du nur alles mit strg+c und strg+v kopiert hast oder?

    Gruß crAzywuLf :D

  • naja..moment mal. so isses ja nun nicht! ich habe bereits sehr viele programme (photoshop, freehand,flash usw) soweit gelernt, das ich als grafiker arbeite! und das fast nur aus foren!! WIE ich nun meine programme lerne, ist ja nun meine sache! und nun bin ich bei PHP angelangt. und wenn ich nun DIESES forum durchforste, sehe ich das hier millionen scripte und codeschnipsel zur hilfe gepostet werden! nur irgendwie scheine ich auf einen schlecht gelaunten typen gestossen zu sein?

  • Zitat von nils1

    naja..moment mal. so isses ja nun nicht! ich habe bereits sehr viele programme (photoshop, freehand,flash usw) soweit gelernt, das ich als grafiker arbeite! und das fast nur aus foren!! WIE ich nun meine programme lerne, ist ja nun meine sache! und nun bin ich bei PHP angelangt. und wenn ich nun DIESES forum durchforste, sehe ich das hier millionen scripte und codeschnipsel zur hilfe gepostet werden! nur irgendwie scheine ich auf einen schlecht gelaunten typen gestossen zu sein?

    loool,
    Ich wollte dir ja eigendlich nur helfen aber das du mir jetzt mit sowas kommste dachte ich nicht .....

    1. Ich bin nicht schlecht gelaunt!
    2. Ich gebe dir natürlich auch den qc wenn du es willst hier

    [php:1:cd46d58978]<?php
    $dbHost = "127.0.0.1";
    $dbUser = "test";
    $dbPass = "test";
    $dbName = "test";

    $connect = mysql_connect($dbHost, $dbUser, $dbPass) or die("Keine Verbindung zum Datenbankserver!");
    mysql_select_db($dbName);


    echo '
    <form action="" method=""><table border="1">
    <tr>
    <td>Name: </td><td><input type="text" name="name" size="25"></td>
    </tr>
    <tr>
    <td>Password: </td><td><input type="password" name="pass" size="25"</td>
    </tr>
    <tr>
    <td>submit: </td><td><input type="submit" name="submit" size="25"</td>
    </tr>
    </table></form>';

    if(isset($submit))
    {
    $sql = "INSERT INTO test (nickname, password) VALUES ('$name', '$pass');";
    $do = mysql_query($sql) or die("Error beim einschreiben");
    echo "Erfolgreich in die Datenbank eingeschreiben";
    }

    /*
    SQL QUELLCODE
    -------------------------
    CREATE TABLE `test` (
    `id` MEDIUMINT( 255 ) NOT NULL AUTO_INCREMENT ,
    `nickname` VARCHAR( 255 ) NOT NULL ,
    `password` VARCHAR( 255 ) NOT NULL ,
    PRIMARY KEY ( `id` )
    ) TYPE = MYISAM ;
    */

    ?>[/php:1:cd46d58978]

    3. Schönen Tag noch

    Gruß crAzywuLf :D

  • ja danke! das ist genau das was ich suchte! siehste... auch ohne PHP lernen;-) VIELEN DANK! und das mit der schlechten laune hab ich nich so gemeint! wollt nur bischen provozieren:-))

  • nee... der mann lässt sich nicht provozieren:-))

    aber nochmal was anderes. hab ein prob! ich versuche mit folgendem befehl daten aus einer datenbank abzurufen:

    <?
    $abfrage = "SELECT status FROM user3";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->status;
    }

    das klappt auch wunderbar, solange nur EIN datensatz in dem feld liegt! kommt ein ZWEITER datensatz dazu, schmeisst er die beiden durcheinander! gibt es ein kommando, was sagt, das er nur den EINEN datensatz aus einer bestimmten DATENZEILE holt?

  • Ja natürlich gibt es eine möglichkeit...

    [php:1:22c576f283]<?
    $sql = "SELECT status FROM user3 WHERE id = '5';";
    $ergebnis = mysql_query($sql);
    while($fetch = mysql_fetch_array($ergebnis))
    {
    echo $fetch['status'];
    }
    ?>[/php:1:22c576f283]

    Probiers mal so aus ich habs nicht getestet kann also gut sein das da nochn bug drin is...

    Gruß crAzywuLf :D

  • ja dazu brauchst du eine WHERE bedingung musst halt eine sachen wissen die in dem datensatz ist z.b. die ID dann machste das so :

    Code
    <?
    $abfrage = "SELECT status FROM user3 WHERE irgendwas = irgendwas";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->status;
    }


    so jetzt musste nurnoch wo irgendwas = irgendwas steht das reintun wo halt möglich ist also falls jeder datensatz eine id hat z.b. ID = 4 oder so ...
    mfg cookie

  • das is ja das problem! die datensätze haben keine ID! die daten werden ja von anderen usern eingegeben. und was die eingeben weiß ich ja vorher nicht! gibt es keine möglichkeit, den datensatz selbst zu bezeichnen?

  • Es wäre ganz interessant zu wissen was die user heraussuchen wollen und die felder in datenbank wären auch interessant zu wissen dann könnten wir dir warscheinlich auch eine antwort auf dein problem geben

    Gruß crAzywuLf :D

  • das ganze wird ein anmeldescript für "evens"

    der user trägt sich ein mit "name" "klasse" "level" "gilde" und "homepage"

    es geht um ein onlinerollenspiel! genauso hab ich auch eine tabelle in der datenbank eingerichtet mit den obigen feldern! mit deinem anmeldescriptscript, crAzywuLf, was du mir vorhin gepostet hast, werden die daten auch super in die felder der datenbank eingetragen. nur, auf der nächsten seite (die dann die teilnehmer auflisten soll) kommt eben das problem. sobald ein zweiter user sich einträgt, sprich ein zweiter datensatz in der tabelle ist. den ich ja wiederrum vorher nicht kenne. sprich ich müsste mit meinem abrufscript immer einen neuen datensatz ansprechen können.

  • Du musst noch ein bissel präzieser werden....
    Sollen alle einträge aus der db angezeigt werden oder nur bestimmte ?

    Gruß crAzywuLf :D

  • aber eben sortiert... so wie sie in der datenbank stehen. im moment werden sie durcheinander geworfen. sprich unter dem befehl row name werden dann ALLE namen ohne trennung aufgelistet die in der bank im feld "name" stehen. die sollen aber einzeln sortiert in einer tabelle angezeigt werden...natürlcih

  • [php:1:ccb581bdb0]<?php
    $dbHost = "127.0.0.1";
    $dbUser = "test";
    $dbPass = "test";
    $dbName = "test";

    $connect = mysql_connect($dbHost, $dbUser, $dbPass) or die("Keine Verbindung zum Datenbankserver!");
    mysql_select_db($dbName);


    $sql = "SELECT * FROM test";
    $do = mysql_query($sql);

    while($fetch = mysql_fetch_array($do))
    {
    echo $fetch['id'].". ".$fetch['name'];
    }

    /*
    SQL QUELLCODE
    -------------------------
    CREATE TABLE `test` (
    `id` INT( 255 ) NOT NULL AUTO_INCREMENT ,
    `name` VARCHAR( 255 ) NOT NULL ,
    `klasse` VARCHAR( 255 ) NOT NULL ,
    `level` VARCHAR( 255 ) NOT NULL ,
    `gilde` VARCHAR( 255 ) NOT NULL ,
    `homepage` VARCHAR( 255 ) NOT NULL ,
    PRIMARY KEY ( `id` )
    ) TYPE = MYISAM ;
    */

    ?>[/php:1:ccb581bdb0]

    Bitte lösche deine Tabelle und füge diese neue ein, es ist wichtig das mann immer id dabei hat und das das auto_increment hat und der primäre key is!

    Gruß crAzywuLf :D

  • hab die tabelle so angelegt:

    CREATE TABLE `user3` (
    `id` INT( 255 ) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR( 255 ) NOT NULL ,
    `klasse` VARCHAR( 255 ) NOT NULL ,
    `level` VARCHAR( 255 ) NOT NULL ,
    `gilde` VARCHAR( 255 ) NOT NULL ,
    `homepage` VARCHAR( 255 ) NOT NULL ,
    `Status` VARCHAR( 255 ) NOT NULL ,
    `feld` VARCHAR( 255 ) NOT NULL
    ) TYPE = MYISAM

    und bekomm foögende fehlermeldung?!:

    Incorrect table definition; There can only be one auto column and it must be defined as a key