[PHP] Felder auslesen und in MYSQL eintragen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von DOWNandOUT, 3. Februar 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Februar 2007
    Felder auslesen und in MYSQL eintragen

    Hi, meine "PHP Account Creation" seite sieht z.Z. so aus:
    PHP:
    <? php
          
    if (isset( $_POST [ 'Abschicken' ]))
    {

         
    error_reporting ( E_ALL );
         
         include 
    'inc/config.php' ;
         
    //Konfig Datei Laden
         
         
    $db_link  = @ mysql_connect ( MYSQL_HOST MYSQL_USER MYSQL_PASS MYSQL_DATABASE );
         
         
    $accname  $_POST [ 'Accountname' ];
         
    $accpass  $_POST [ 'Accountpasswort' ];
         
    $abschicken  $_POST [ 'Abschicken' ];
         
         
    $abschicken  = ( $accname . $accpass );


    echo 
    "<form action='mangos.php' method:'post'>" ;
    echo 
    "Accname :" ;
    echo 
    "<input type='text' name='Accountname' value=' $accname '><br><br>" ;
    echo 
    "Accpass :" ;
    echo 
    "<input type='text' name='Accountpasswort' value=' $accpass '><br><br><br>" ;
    echo 
    "<input type='submit' name='Abschicken' value=' $abschicken '>" ;
    echo 
    "</form>" ;
    }
    else
    {
    echo 
    "<form action='mangos.php' method:'post'>" ;
    echo 
    "Accname :" ;
    echo 
    "<input type='text' name='Accountname' value=' $accname '><br><br>" ;
    echo 
    "Accpass :" ;
    echo 
    "<input type='text' name='Accountpasswort' value=' $accpass '><br><br><br>" ;
    echo 
    "<input type='submit' name='Abschicken' value=' $abschicken '>" ;
    echo 
    "</form>" ;
    }
      
    $abschicken  mysql_query  ();

    ?>
    Nunja, ich kenne mich mit MYSQL nur wenig aus, ich möchte das er die Felder "$accname" und "$accpass" ausließt, und in die DB "Realm" in die Tabelle "Account" einträgt, den accname in die Spalte "username" und das accpass soll in die Spate "password", ausserdem soll er automatisch in die spalte "Gmlevel" "0" eintragen.

    Wie mache ich das am besten, oder kann mir jemand vll so nen fertigen Script geben ?

    MfG
    Jan225

    bw is natürlich klar
     
  2. 3. Februar 2007
    AW: Felder auslesen und in MYSQL eintragen

    habe den code mal ne runde verändert
    musst noch die kontrolle und das mysql_query anpassen (hoffe du verstehst meine vorlage)
    PHP:
    <? php
    if (isset( $_POST [ 'Abschicken' ]))
    {
      
    error_reporting ( E_ALL );

      
    //Konfig Datei Laden
      
    include  'inc/config.php' ;

      
    $db_link  = @ mysql_connect ( MYSQL_HOST MYSQL_USER MYSQL_PASS MYSQL_DATABASE );

      
    $accname  $_POST [ 'Accountname' ];
      
    $accpass  $_POST [ 'Accountpasswort' ];
      
    $abschicken  $_POST [ 'Abschicken' ];

      
    $abschicken  = ( $accname . $accpass );
      
      
    // Hier deine Daten mit if's überprüfen z.B.:
      
    $error  "" ;
      if (empty(
    $accname ))
      {
        
    $error  .=  "Bitte Accountnamen eingeben!<br />" ;
      }
      
      if (
    $error  ==  "" )
      {
        
    mysql_query  ( "INSERT INTO `tabelle1` (`spalte`, `spalte2`) VALUES (' $accname ', ' $accpass ')" );
        
    mysql_query  ( "INSERT INTO `tabelle2` (`spalte`, `spalte2`) VALUES (' $accname ', ' $accpass ')" );
        echo 
    "Account wurde angelegt" ;
        die();
      }
    }
    ?>
    <form action='mangos.php' method:'post'>
    Accname :
    <input type='text' name='Accountname' value='<?=$accname?>'><br><br>
    Accpass :
    <input type='text' name='Accountpasswort' value='<?=$accpass?>'><br><br><br>
    <input type='submit' name='Abschicken' value='Anmelden'>
    </form>
     
  3. 3. Februar 2007
    AW: Felder auslesen und in MYSQL eintragen

    Erstmal Danke

    Habe jetzt alles angepasst, aber er trägt die sachen einfach ned in die DB ein :-/

    Es kommt auch kein Fehler, und es wird auch ned
    PHP:
    echo  "Account wurde angelegt" ;
    ausgegeben.
     
  4. 3. Februar 2007
    AW: Felder auslesen und in MYSQL eintragen

    dann mach mal noch irgentwo ein echo $error hin
    am besten direkt über das formular
     
  5. 3. Februar 2007
    AW: Felder auslesen und in MYSQL eintragen

    mhh ich hab auch mal was gebaut. Hat Sicherheitscode und ist leicht anpassbar.

    PHP:
    <? php

    $config
    [ 'mysql_host' ] =  'localhost' ;         // MySQL server IP/Host
    $config [ 'mysql_user' ] =  'root' ;         // MySQL server username
    $config [ 'mysql_pass' ] =  '' ;         // MySQL server passwort
    $config [ 'mysql_dbname' ] =  'realmd' ;     // MySQL server datenbank name



    error_reporting ( E_ALL  E_NOTICE );

    session_start ();

    $msg  = Array();
    $error  = Array();

    function 
    addUser (){
        if (empty(
    $_POST )) return  false
        global 
    $config $msg $error ;
        if (empty(
    $_POST [ 'securekey' ]) || ! randstring ( $_POST [ 'securekey' ])) return  $error [] =  'Falscher Security Code' ;
        if (empty(
    $_POST [ 'username' ]))  $error [] =  'Kein Account Name angegeben' ;
        if (empty(
    $_POST [ 'password' ][ 0 ]) || empty( $_POST [ 'password' ][ 1 ]))  $error [] =  'Kein Passwort angegeben' ;
        if (
    $_POST [ 'password' ][ 0 ] !==  $_POST [ 'password' ][ 1 ])  $error [] =  'Passwort muss das selbe sein' ;
        if (!empty(
    $error )) return  false ;
        
    $db  = @ mysql_connect ( $config [ 'mysql_host' ],  $config [ 'mysql_user' ],  $config [ 'mysql_pass' ]);
        if (!
    $db ) return  $error [] =  'Datenbank: ' . mysql_error ();
        if (!@
    mysql_select_db ( $config [ 'mysql_dbname' ],  $db )) return  $error [] =  'Database: ' . mysql_error ();
        
    $query  "SELECT `id` FROM `account` WHERE `username` = '" . mysql_real_escape_string ( $_POST [ 'username' ]). "'" ;
        
    $res  mysql_query ( $query $db );
        if (!
    $res ) return  $error [] =  'Database: ' . mysql_error ();
        if (
    mysql_num_rows ( $res ) >  0 ) return  $error [] =  'Account bereits vorhanden' ;
        
    $query  "INSERT INTO `account` (`username`,`password`) VALUES ('" . mysql_real_escape_string ( $_POST [ 'username' ]). "', '" . mysql_real_escape_string ( $_POST [ 'password' ][ 0 ]). "')" ;
        
    $res  mysql_query ( $query $db );
        if (!
    $res ) return  $error [] =  'Database: ' . mysql_error ();
        
    // everything ok, account was added. yay!
        
    $msg [] =  'Der Account <strong>' . htmlentities ( $_POST [ 'username' ]). '</strong> wurde erstellt!' ;
        
    mysql_close ( $db );
        return 
    true ;
    }

    addUser ();

    if (
    $_GET [ 'secureimage' ] ==  1 )
        
    randstring ();

    function 
    makekey ( $len = 5 ){
        
    $key  '' ;
        for(
    $i  0 $i  $len $i ++)
            
    $key  .=  mt_rand ( 0 9 );
        return 
    $key ;
    }

    function 
    randstring ( $check = false ){
        if (!
    $check ){
            
    $img_src  imagecreatetruecolor ( 50 , 20 );
            
    $textcolor  imagecolorallocate ( $img_src 0 255 255 );
            
    $_SESSION [ 'secretkey' ] =  makekey ();
            
    imagestring ( $img_src 4 5 2 $_SESSION [ 'secretkey' ],  $textcolor );
            
    header ( 'Content-type: image/png' );
            
    imagepng ( $img_src );
            exit();
        } else return (
    $check  ===  $_SESSION [ 'secretkey' ])?  true  false ;
    }

    ?>
    <html>
    <head>
    <title>Account Creation</title>
    <style>
    body, table {
        font-family: Verdana;
        font-size: 13px;
    }
    input {
        font-family: Tahoma;
        text-align: center;
        padding: 2px;
    }
    input.button {
        font-family: Verdana;
        font-size: 12px;
        padding: 2px 25px;
    }
    div.error {
        border: 2px solid #FF0000;
        background-color: #f48987;
        padding: 4px;
    }
    div.msg {
        background-color: #9fd5b5;
        padding: 4px;
        border: 2px solid #00b159;
    }
    </style>
    </head>

    <body>

    <h2 align="left"><font>Account Creation</h2>



    <?php
    if (!empty( $error )){
        echo 
    '<div class="error">' ;
        foreach(
    $error  as  $text )
            echo 
    $text . '!<br/>' ;
        echo 
    '</div>' ;
    };
    if (!empty(
    $msg )){
        echo 
    '<div class="msg">' ;
        foreach(
    $msg  as  $text )
            echo 
    $text . '!<br/>' ;
        echo 
    '</div>' ;
        exit(
    '</body></html>' );
    };
    ?>

    <form action="<?php  echo  $_SERVER [ 'PHP_SELF' ];  ?>" method="POST">
    <table>
    <tr>
        <th align="left">Account Name</th>
        <td>
        <p align="left"><input type="text" name="username" size="30" maxlength="16"/>
        
    </tr>
    <tr>
        <th align="left">Passwort</th>
        <td>
        <p align="left"><input type="password" name="password[]" size="30" maxlength="16"/> &raquo; 
        bestätigen &raquo; <input type="password" name="password[]" size="30" maxlength="16"/></td>
    </tr>
    <tr>
        <th align="left">Security Code</th>
        <td>
        <p align="left"><img src="<?php  echo  $_SERVER [ 'PHP_SELF' ]; ?>?secureimage=1"/> 
        =&gt; <input type="text" name="securekey" size="6" maxlength="5"/></td>
    </tr>
    <tr>
        <td colspan="2" align="left">
        <p align="center"><input type="submit" value="Account erstellen" class="button"/></td>
    </tr>
    </table>
    </form>

    <p align="center">
    </body>
    </html>
     
  6. 3. Februar 2007
    AW: Felder auslesen und in MYSQL eintragen

    Vielen Dank, funzt 1a, Bewertung ist an euch beide raus
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.