#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"> </td> </tr> <tr> <th colspan="3" bgcolor="#CCCCCC" scope="row"> </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"> </td> </tr> <tr> <td> </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' ]; .... + Multi-Zitat Zitieren
#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) + Multi-Zitat Zitieren
#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 < 1 || $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 (); } ?> + Multi-Zitat Zitieren