Anzeige

Formularupload zu MYSQL -nix passiert-

Formularupload zu MYSQL -nix passiert- | PSD-Tutorials.de

Erstellt von Enra15, 20.09.2008.

  1. Enra15

    Enra15 Noch nicht viel geschrieben

    Dabei seit:
    19.02.2008
    Beiträge:
    22
    Formularupload zu MYSQL -nix passiert-
    Hallo alle miteinander,

    ich habe mal ein Formular erstellt gehabt. Bis vor kurzen hat auch alles wunderbar funktioniert. jetzt passiert nichts mehr sobald man auf den abschicken button drückt. Mein kumpel der sonst die ganzen PHP Sachen übernimmt hat sich auch lange nicht mehr gemeldet und ich weiß auch nicht wann der mal wiederkommt. Daher setze ich meine Hoffnung jetzt auf Euch ;-P

    ich gehe davon aus dass der Fehler in der profile.php datei steckt.
    doch kann ich dort nichts weiter erkennen...
    THX

    profile.php
    PHP:
    1. <?
    2. // $USER and $HTML setup in index.php (ugly code i know ... quick and dirty)
    3.  
    4. require_once( 'database.php' );
    5.  
    6. $update = false; // new entry?
    7. $id = 0;
    8. $name = '';
    9. $country = '';
    10. $query = "SELECT id, real_name, country FROM profiles WHERE name = '".$USER."'";    
    11. $result = mysql_query( $query, $DB ) OR die( mysql_error() );
    12. if( $result ){
    13.     $update = true;
    14.     if( $row = mysql_fetch_array( $result ) ) {
    15.         $id = $row['id'];
    16.         $name = $row['real_name'];
    17.         $country = $row['country'];
    18.     }
    19. }
    20. else {
    21.     die( mysql_error() );
    22. }
    23.  
    24. if ( isset( $_POST['submit'] ) ) {
    25.     // remove Slashes
    26.     $_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
    27.    
    28.     //get the fields from POST
    29.     $name = mysql_real_escape_string( $_POST['real_name'] );
    30.     $country = mysql_real_escape_string( $_POST['country'] );
    31.    
    32.    
    33.     if ( $update ) {
    34.         $sql = "UPDATE profiles SET
    35.            real_name = '$name',
    36.            country = '$country'
    37.            WHERE
    38.            name = '$USER'";
    39.     }
    40.     else {
    41.         // The stuff what have to send to the DB
    42.         $sql = "INSERT INTO profiles (name, real_name, country)
    43.            VALUES( '$USER','$name','$country')";
    44.     }
    45.    
    46.     if ( mysql_query( $sql, $DB ) ) {
    47.         // success
    48.        
    49.         // update roles
    50.         $sql = "DELETE FROM roles WHERE profile_id = '$id'";
    51.         if( !mysql_query( $sql, $DB ) ){
    52.             die( mysql_error() );
    53.         }
    54.         foreach( $_POST['roles'] as $role_id ){
    55.             $sql = "INSERT INTO roles ( profile_id, role_id ) VALUES ( '$id', '$role_id' )";
    56.             if( !mysql_query( $sql, $DB ) ){
    57.                 die( mysql_error() );
    58.             }
    59.         }
    60.    
    61.         $title = 'Success';
    62.         $message = 'Profile updated!';
    63.     }
    64.     else {
    65.         $title = 'Error';
    66.         $message = 'Problem found updating profile!';
    67.     }
    68.     // load template
    69.     $cnt = file_get_contents( 'html/cnt_message.html' );
    70.     // replace template vars
    71.     $cnt = str_replace( '%PICTURE%', '&nbsp;', $cnt );
    72.     $cnt = str_replace( '%TITLE%', $title, $cnt );
    73.     $cnt = str_replace( '%MESSAGE%', $message, $cnt );
    74.     // add template to page
    75.     $HTML .= $cnt;
    76. }
    77.  
    78. $sql = "SELECT id, name FROM role";
    79. $result = mysql_query( $sql, $DB );
    80. if( !$result ){
    81.     die( mysql_error() );
    82. }
    83.  
    84. while( $row = mysql_fetch_array( $result ) ){
    85.     $role_id = $row['id'];
    86.     $role_name = $row['name'];
    87.    
    88.     $sql = "SELECT id FROM roles WHERE profile_id = '$id' AND role_id = '$role_id'";
    89.     if( !mysql_query( $sql, $DB ) ){
    90.         die( mysql_error() );
    91.     }
    92.    
    93.     if( mysql_affected_rows( $DB ) == 1 ){
    94.         $roles .= "<li>$role_name</li>";
    95.         $upd_roles .= "<option value=\"$role_id\" selected=\"yes\">$role_name</option>";
    96.     }
    97.     else{
    98.         $upd_roles .= "<option value=\"$role_id\">$role_name</option>";
    99.     }
    100. }
    101.  
    102. // load template
    103. $cnt = file_get_contents( 'html/cnt_profile.html' );
    104. // replace template vars
    105. $cnt = str_replace( '%USER%', $USER, $cnt );
    106. $cnt = str_replace( '%NAME%', $name, $cnt );
    107. $cnt = str_replace( '%COUNTRY%', $country, $cnt );
    108. $cnt = str_replace( '%ROLES%', $roles, $cnt );
    109. $cnt = str_replace( '%UPD_ROLES%', $upd_roles, $cnt );
    110. // add template to page
    111. $HTML .= $cnt;
    112.  
    und das Formular
    HTML:
    1. <!-- cnt_profile -->
    2.   <div style="text-align:center;">
    3.         <table>
    4.             <tr>
    5.                 <td colspan="7">
    6.                         <form action="index.php?page=profile" method="POST">
    7.                         <h2><u><div style="text-align:center;">Your current Profile</div></u></h2>
    8.             </td></tr>
    9.                        
    10.                         <tr><td>
    11.             <div style="text-align:right;"><span class="label">Name: </span></div></td>
    12.             <td colspan="5"><span>%USER%</span>
    13.             </td></tr>
    14.  
    15.                         <tr><td>
    16.             <div style="text-align:right;"><span class="label">Real Name: </span></div></td>
    17.             <td colspan="5"><input name="real_name" type="text" size="33" value="%NAME%"/>
    18.             </td></tr>
    19.            
    20.             <tr><td rowspan="2">
    21.             <div style="text-align:right;"><span class="label">Country: </span></div></td>
    22.             <td><input type="radio" name="country" value="USA"/><img src="./bilder/flags/usa.jpg"/></td>
    23.                         <td><input type="radio" name="country" value="Germany"/><img src="./bilder/flags/ger.jpg"/></td>
    24.                         <td><input type="radio" name="country" value="UK"/><img src="./bilder/flags/uk.jpg"/></td>
    25.                         <td><input type="radio" name="country" value="France"/><img src="./bilder/flags/f.jpg"/></td>
    26.                         <td><input type="radio" name="country" value="Denmark"/><img src="./bilder/flags/dk.jpg"/></td>
    27.                 </tr>
    28.             <tr>
    29.             <td><input type="radio" name="country" value="Sweden"/><img src="./bilder/flags/s.jpg"/></td>
    30.                         <td><input type="radio" name="country" value="Holland"/><img src="./bilder/flags/nl.jpg"/></td>
    31.                         <td><input type="radio" name="country" value="Belgium"/><img src="./bilder/flags/b.jpg"/></td>
    32.                         <td><input type="radio" name="country" value="Portugal"/><img src="./bilder/flags/p.jpg"/></td>
    33.                         <td><input type="radio" name="country" value="Italy"/><img src="./bilder/flags/i.jpg"/></td>
    34.                         </tr>
    35.             <tr><td>
    36.                         <div style="text-align:right;"><span class="label">Roles (use CTRL to select multiple): </span></div></td>
    37.                         <td colspan="5">
    38.                         <select multiple="yes" size="7" name="roles[]">%UPD_ROLES%</select></td></tr>
    39.                         <tr><td colspan="7">
    40.                         <div style="text-align:center;"><input type="submit" name="page" value="submit"/></div>
    41.                     </form>
    42.                 </td>
    43.             </tr>
    44.         </table>
    45.   </div>
     
    #1      
  2. sokie

    sokie Mod | Web

    Dabei seit:
    23.03.2008
    Beiträge:
    5.338
    Geschlecht:
    männlich
    Ort:
    Bünde NRW
    Software:
    <br>COREL <br> Texteditor
    Formularupload zu MYSQL -nix passiert-
    AW: Formularupload zu MYSQL -nix passiert-

    dein submit hat aber den namen ['page'] also kommt auch nur $_POST['page'] an, wenn ich das richtig gesehen habe.

    Tabellenkonstruktionen machen code aber auch herrlich unübersichtlich.
     
    #2      
x
×
×
teststefan