Radio-button met TWEE variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

14/07/2014 14:37:07
Quote Anchor link
Hallo allemaal,

In het door mij te ontwikkelen bibliotheek-bestand zit ik met de volgende uitdaging:
Door het klikken op een radio-button wil ik (eigenlijk) twee waardes terug ontvangen. Kan dat?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<form action="admin_biebbeheer.php" method="POST" enctype="multipart/form-data">
   <?php
      while($rowSelectie = mysqli_fetch_array($cResultKeuze)) {
   ?>

   <input type="radio" name="keuze" value="<?php echo $rowSelectie['waarde'] ; ?>" /><span class="standaardtekst"><?php echo $rowSelectie['inhoud'] ; ?></span><br />
   // In bovenstaande regel wil ik dus een waarde terugkrijgen die beschikbaar is met $rowSelectie['extensie']
   <?php } ?>
   <br />
</form>

?>




Wie heeft voor mij een suggestie?

George
Gewijzigd op 14/07/2014 14:40:11 door George van Baasbank
 
PHP hulp

PHP hulp

29/03/2024 00:49:55
 
- SanThe -

- SanThe -

14/07/2014 15:09:33
Quote Anchor link
Zo te zien heb je geen radio maar een checkbox nodig.
Ikzelf doe meerdere waarden in de value gescheiden door een | waar ik later op explode.
 
George van Baasbank

George van Baasbank

14/07/2014 20:42:09
Quote Anchor link
San The,

Omdat de selectie slechts één mogelijkheid mag hebben is een checkbox niet aan de orde. De tweede variabele heb ik nodig om bij het uploaden van bestanden te controleren of er een juist bestand wordt ge-upload. Dus bij de keuze Audiobestand wil ik een mp3-extensie zien.
Jouw suggestie om met een | ga ik uitproberen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/07/2014 22:29:28
Quote Anchor link
Bij radiobuttons krijg je altijd één waarde terug. Ik zie ook de logica niet want je bestand is maar van één type toch? Of het is een image, of een video maar niet beiden.
Gewijzigd op 14/07/2014 22:41:40 door Frank Nietbelangrijk
 
George van Baasbank

George van Baasbank

15/07/2014 14:18:43
Quote Anchor link
Hallo allemaal,

Graag wil ik nog even terugkomen op mijn vraag:

De radiobuttons die ik gebruik vormen een onderdeel van het invoerdocument van mijn bibliotheek.
Op dit moment onderscheid ik zo'n 8 verschillende documenttypen waaronder Excel, Tekstdocument, Foto en Geluidsbestand.
Deze typen wil ik vooraf valideren of het bijgevoegde bestand wel van het goede type is.
Op dit moment kan ik, dankzij San The, de volgende validaties achter een radiobutton plaatsen:
Audio = mp3 of wav
Excel = xls of csv
Tekstdocumenten = doc, pdf of txt
Foto = jpg of bmp

De retourwaarde van de radiobutton is dan zoiets als 01-biebcat | doc | pdf | txt

1. Allereerst lees ik uit welke radiobutton is geselecteerd en maak middels een explode hier een array van
2. Ik test welke extensie het bijgevoegde document heeft
3. Ik vergelijk met de functie array_search of e.e.a. matcht
4. Zo ja, werk de database bij
5. Zo nee, geef een error-melding

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST') {
    if($cKeuze == $cKnoptekst04) {    // Nieuw document opslaan
        $cTitel = mysqli_real_escape_string($verbinding,$_POST['titel']);
        $cAuteur = mysqli_real_escape_string($verbinding,$_POST['auteur']);
        $cDatum = mysqli_real_escape_string($verbinding,$_POST['datum']);
        $cInputRadio = $_POST['keuze'];
        $aExplode = explode(" | ",$cInputRadio);
        $cCategorie = $aExplode[0];
        $cDocType = $aExplode[1];
        if(empty($cTitel)||empty($cAuteur)||empty($cDatum)||empty($cCategorie)) {
            header("Location: error.php?error=989");
            exit();
        }

        $cNu = date("Y-m-d H:i:s");
        if ( isset( $_FILES['bestandsnaam']['name'] ) ){
            $cUpload = $_FILES['bestandsnaam']['name'];
            if($cUpload != "") {
                $cUpload = $cNu . $cUpload;
                $cUpload = VertaalBestandsnaam($cUpload);
            }
else {
                header("Location: error.php?error=990");
                exit();
            }
        }

        
        // Upload bestand
        if($cUpload != "" ) {
            $cBestemming = ES_Biebmap . $cUpload;
        }
else {
            $cBestemming = "";
        }

        
        // Brondoc: http://www.w3schools.com/php/php_file_upload.asp
        // Extension uitlezen van upload-file

        $cTemp = explode(".", $_FILES["bestandsnaam"]["name"]);
        $cExtension = end($cTemp);
        
        // Hier vind de test plaats of document juiste doc-type is
        $nTest = array_search($cExtension,$aExplode);
        
        if($nTest == NULL) {
            header("Location: error.php?error= 988");
            exit();
        }

        
        if($_FILES["bestandsnaam"]{"name"} != "" ) {
            if ($_FILES["bestandsnaam"]["error"] > 0) {
                header("Location: error.php?error=2");
                exit();
            }
else {
                if (file_exists(ES_Biebmap . $_FILES["bestandsnaam"]["name"])) {
                    header("Location: error.php?error=3");
                    exit();
                }
else {
                    move_uploaded_file($_FILES["bestandsnaam"]["tmp_name"],$cBestemming);
                    
                    // Database bibliotheek bijwerken
                    $cEigenaar = $_SESSION['inlognaam'];
                    $cCat = $cInputRadio;
                    $sql = "INSERT INTO pod__bibliotheek (titel,auteur,categorie,bestandsnaam,eigenaar) VALUES ('$cTitel','$cAuteur','$cCat','$cBestemming','$cEigenaar')";
                    $cResultBieb = mysqli_query($verbinding,$sql);
                }  
            }
        }
        
    }

    
    mysqli_close($verbinding);
}

?>


Deze wijze van werken gaat erg goed. Een ieder bedankt voor het meedenken

George
Gewijzigd op 15/07/2014 14:22:11 door George van Baasbank
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.