[JavaScript] Select an php übertragen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Atkaz, 30. März 2010 .

  1. 30. März 2010
    Select an php übertragen

    Hallo Leute, hab wieder mal einProblem. Ich habe zwei <select>-Boxen Ober-und Unterkategorie. Beim anklicken der Oberkategorie wird eine Unterkategorie erzeugt. Soweit so gut. Das Problem ist jetzt, dass ich die values der unterkategorie nicht per Post an mein Php script abschicken kann.

    HTML:
    <?php session_start();?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    <link href="Style2.css" rel="stylesheet" type="text/css" />
    
    <!-- ############### Kategorieauswahl(JavaScript)##############-->
    
    <script language="JavaScript">
    function getIndex(){ 
     switch (document.formular.select1.selectedIndex)
     {
     case 0:
     document.getElementById('select2').innerHTML = '<select size="6" name="kat2"><option value="am" >Elektro1</option><option value="bk">Elektro2</option></select>'
     break
     case 1:
     document.getElementById('select2').innerHTML = '<select size="6" name="kat"><option value="undercat1">Kleidung 1</option><option value="undercat2">Schuhe 2</option></select>'
     break
     case 2:
     document.getElementById('select2').innerHTML = '<select name="kat"><option value="undercat3">UnterKategorie 3</option><option value="undercat4">UnterKategorie 4</option></select>'
     break
     default:
     document.getElementById('select2').innerHTML = ''
     break
     }
    
    
    
    
    
    }
    
    </script>
    
    </head>
    
    
    <body>
    <div align="center">
    <!-- ###################### Katgorie ###################-->
    
    <form name="formular" action="insert.php" method="post" enctype="multipart/form-data" >
    <table width="515" border="0">
     <tr>
     
     
     <td width="95"><select name="select" size="8" id="select1" onchange="getIndex();">
     <option value="el">Elektronik </option>
     <option value="kl">Kleidung </option>
     </select></td>
     <td width="410" id="select2">&nbsp;</td>
     </tr>
     <tr>
     <th colspan="3" bgcolor="#CCCCCC" scope="row">&nbsp;</th>
     </tr>
    </table>
    
    <table width="551" border="1">
     <tr>
     <th width="185" ><div align="left">Titel</div></th>
     <th width="350" > <div align="left">
     <input type="text" name="Titel" />
     </div></th>
     </tr>
     <tr>
     <td>Preis</td>
     <td><input type="text" name="Preis" /></td>
     </tr>
     <tr>
     <td>Menge</td>
     <td> <input type="text" name="Menge" /> </td>
     </tr>
     <tr>
     <td>Ende</td>
     <td><input type="text" name="Ablauf" /></td>
     </tr>
     <tr>
     <td><input type="hidden" name="kat" value="<?php echo $_SESSION['kat'];?>" /></td>
     <td><textarea name="Beschreibung"></textarea></td>
     </tr>
     <tr>
     <td colspan="2">&nbsp;</td>
     </tr>
    <tr>
     <td>&nbsp;</td>
     <td><input type="file" name="Foto" /></td>
     </tr>
    
     </tr>
    <tr>
     <td colspan="2">
     <div align="center">
     <input type="submit" value="Abschicken" name="formaction"/>
     </div></td>
     </tr>
    </table>
    </form>
    
    </div>
    </body>
    </html>
    
    
    das Php-script sieht dann wie folgt aus
    PHP:
    ....
    $kat  $_POST [ 'kat2' ];
    ....

     
  2. 30. März 2010
    AW: Select an php übertragen

    doch sollte gehen, du machst was falsch.
    ggf. auch mal mit hilfe des dom versuchen die select-menüs zu erstellen. (innerHTML is so ne sache)
     
  3. 30. März 2010
    AW: Select an php übertragen

    hmm..bei mir funktionert es irgendwie nicht.

    hier mein vollständiger PHP Script

    PHP:
    <? php 
    ini_set
    ( 'display_errors' 1 );
    error_reporting ( E_ALL );
    session_start ();

    include (
    "../Klassen.php" );
    print 
    loginCheck ();
    $Produkt = new  datenObjekt ();


    $verbindung  mysql_connect  ( "+++++++" ,
    "+++++" "+++++++" )
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db ( "homepage" ) or die ( "Die Datenbank existiert nicht." );

    if (
    'POST'  ==  $_SERVER [ 'REQUEST_METHOD' ]) {
        if (!isset(
    $_POST [ 'Titel' ],  $_POST [ 'Menge' ], $_POST [ 'Ablauf' ], $_POST [ 'Preis' ], $_POST [ 'Beschreibung' ], $_POST [ 'formaction' ])) {
            echo 
    "Benutze das Formular" ;
        exit;
        }
        }
        
    $Titel  mysql_real_escape_string ( $_POST [ "Titel" ]);
    $Preis  mysql_real_escape_string ( $_POST [ "Preis" ]);
    $Beschreibung  mysql_real_escape_string  ( $_POST [ "Beschreibung" ]);
    $Menge  mysql_real_escape_string  ( $_POST [ "Menge" ]);
    $Ablauf  mysql_real_escape_string  ( $_POST [ "Ablauf" ]);

    srand  ((double)  microtime () *  1000000 );
      
    $id rand ( 1 , 100000 ); 
    $userID $_SESSION [ 'user' ][ "ID" ];
    $kat $_POST [ 'kat2' ];






    if ( $Titel  == ""  ||  $Preis == ""  ||  $Menge  == ""   ) {
    echo 
    "Bitte Füllen Sie alle Felder korrekt aus" ;

    }

    if (!
    preg_match ( '~\A\S{3,30}\z~' $Titel )) {
            
    $Produkt -> ungueltigeEingabe ( "Produkttitel" );
    exit;
    }
        if (!
    preg_match ( "/^\d+$/" , $Preis )) {
            
    $Produkt -> ungueltigeEingabe ( "Preis" );
    exit;
        }
        if (
    $Menge  < ||  $Menge  > 99999 ){
    echo 
    "Bitte geben Sie die richtige Mengenangabe ein" ;
    exit;
    }
        if (!
    preg_match ( "/^\d{1,5}+$/" , $Menge )) {
            
    $Produkt -> ungueltigeEingabe ( "Menge" );
    exit;
        }        
        if (!
    preg_match ( '/^\d{2}\.\d{2}\.(\d{2}|\d{4})$/' $Ablauf )) {
            
    $Produkt -> ungueltigeEingabe ( "Ablauf" );
    exit;
        }
        
        if (isset(
    $_FILES [ "Foto" ][ "size" ]) >  0 ) {
            
    $foto  true ;
            
    preg_match ( "/(\.\w+)$/" ,
                
    $_FILES [ "Foto" ][ "name" ], $match );
            
    $typ  $match [ 1 ];
            
    // Wir erlauben nur Erweiterungen von Bilddateien, damit die Leute
            // stattdessen keine PHP-Skripte einschmuggeln können
            
    if ( in_array (
                    
    strtolower ( $typ ),
                    array(
    ".gif" , ".bmp" , ".jpg" , ".png" , ".jpeg" ))) {
                
    $dateiName  uniqid ( "" ). $typ ;
                
    $bildPfad  =
                    
    preg_replace ( "/\/[^\/]+$/" , "" ,
                                 
    $_SERVER [ "SCRIPT_FILENAME" ])
                                 .
    "/Bilder/" ;
                
    copy ( $_FILES [ "Foto" ][ "tmp_name" ],
                    
    $bildPfad . $dateiName );
            }
        }
        else
        {
        print 
    $_FILES [ "Foto" ][ "error" ];
              }
        


    $eintrag  "INSERT INTO produkt (Id,UserID,Foto,Titel,Preis,Menge,Ende,Beschreibung,Kat)
    VALUES
    ('
    $id ',' $userID ',' $dateiName ',' $Titel ',' $Preis ',' $Menge ',' $Ablauf ',' $Beschreibung ',' $kat ')" ;

    $eintragen  mysql_query ( $eintrag );

    if (
    $eintragen  ==  true ) {

    echo 
    $kat ;
    echo 
    " Produkt wurde erfolgreich eingetragen." ;
    }
    else
    {
    print 
    mysql_error ();  

    }

    ?>

     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.