PHP website

Status
Niet open voor verdere reacties.

Jaspertjeh

Gebruiker
Lid geworden
30 dec 2010
Berichten
765
Hi Helpmij-ers!

Ik heb jullie hulp nodig bij het programmeren van een stukje code op mijn website.

Het zal vast ergens op internet staan maar heb geen idee waarop ik moet zoeken. Misschien kan iemand mij helpen na mijn uitleg.

Ik heb op dit moment 10 lege textboxen en een "submit-knop". Wat de bedoeling is, is dat de bezoeker waardes invult. Na het verzenden van de waardes moet worden gecontroleerd of de waardes overeenkomen met de waardes die ik heb geprogrammeerd. Voorbeeld: tekstbox 1 is de juiste waarde "ok" en de gebruiker vult ook "ok" in dan wordt de tekstbox naar het controleren groen. Indien bijvoorbeeld "oke" is ingevuld wordt de textbox na het controleren rood.

Hoe krijg ik dit voor elkaar? Mijn dank is groot.

Groeten,
Jasper
 
Dit is ongeveer het idee voor 1 textbox. De code is niet heel netjes, maar het werkt en is makkelijk uit te breiden:
PHP:
<?php                                                                                                     
$htmltekst1 = "";   // $htmltekst1 alvast een waarde geven anders krijgen we de eerste keer dat we de pagina bezoeken een warning dat $htmltekst1 niet bestaat
if($_SERVER["REQUEST_METHOD"] == "POST")  // Als het formulier verzonden is
{
        if($_POST["text1"] == "ok")    // Controleer of de waarde van text1 "ok" is
        {
                $htmltekst1 = 'style="background:green"';    // Stukje HTML waarmee je de achtergrond groen kleurt
        } else {      // Als de waarde van text1 niet "ok" is
                $htmltekst1 = 'style="background:red"';       // Stukje HTML waarmee je de achtergrond rood kleurt
        }
}
?>
<html>
<body>
<form name="tekstboxen" action="" method="post">
<input type="text" name="text1" <?php echo $htmltekst1;?>><br />  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
<input type="submit" name="subm">
</form>
</body>
</html>
 
Hee Supersnail!

Top! Je maakt me heel blij. Zal het proberen en als het werkt laat ik je het weten!

Nogmaals heel erg bedankt. :love:

Jasper
 
Top, het werkt!

Nu heb ik nog een vraagje! Is het ook mogelijk dat de ingevulde waardes in het tekstveld blijven staan na het verzenden? :rolleyes:

UPDATE:
Achteraf was het niet zo lastig! Het bleek eenvoudig op te lossen met een stukje php in de "value" waarde van de textbox toe te voegen! Vergeet hierbij absoluut niet de "htmlentities"! Hiermee voorkom je namelijk dat kwaadwillige een script kunnen uitvoeren in je textbox!

PHP:
<?php                                                                                                     
$htmltekst1 = ""; 
if($_SERVER["REQUEST_METHOD"] == "POST") 
{
        if($_POST["text1"] == "ok")  
        {
                $htmltekst1 = 'style="background:green"';
        } else { 
                $htmltekst1 = 'style="background:red"';    
        }
}
?>
<html>
<body>
<form name="tekstboxen" action="" method="post">
<input type="text" name="text1" value="<?php if(isset($_POST['text1'])) { echo htmlentities ($_POST['text1']); }?>" <?php echo $htmltekst1;?>><br />
<input type="submit" name="subm">
</form>
</body>
</html>
 
Laatst bewerkt:
Misschien een beetje laat maar je code kan een stuk korter worden.

Aangezien je 10 text inputs hebt zou dat betekenen dat je 10 verschillende if/else statements zou moeten maken.
Dit stuk code hieronder is wat korter.
Al zou je er 20 of 30 maken dan nog heb je maar 1 if/else statement nodig.

Code:
<?php

    //** Check of formulier met de POST methode verzonden is **//
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
        //** Een array met de verplichte waardes **//
        $waardes = array("nul","een","twee","drie","vier","vijf","zes","zeven","acht","negen");

        //** Vergelijk de opgegeven waardes met de verplichte waardes **//
        for ($i=0; $i < count($waardes); $i++) {
            if ($waardes[$i] == $_POST['text'][$i]) {
                $htmltekst[$i] = 'style="background: green;"';
            } else {
                $htmltekst[$i] = 'style="background: red;"';
            }
        }
    }
?>

<html>
<body>
    <form name="tekstboxen" action="" method="post">
        <input type="text" name="text[]" <?php if(isset($htmltekst[0])) echo $htmltekst[0];?> value=<?php if(isset($_POST['text'][0])) echo $_POST['text'][0];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[1])) echo $htmltekst[1];?> value=<?php if(isset($_POST['text'][1])) echo $_POST['text'][1];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[2])) echo $htmltekst[2];?> value=<?php if(isset($_POST['text'][2])) echo $_POST['text'][2];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[3])) echo $htmltekst[3];?> value=<?php if(isset($_POST['text'][3])) echo $_POST['text'][3];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[4])) echo $htmltekst[4];?> value=<?php if(isset($_POST['text'][4])) echo $_POST['text'][4];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[5])) echo $htmltekst[5];?> value=<?php if(isset($_POST['text'][5])) echo $_POST['text'][5];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[6])) echo $htmltekst[6];?> value=<?php if(isset($_POST['text'][6])) echo $_POST['text'][6];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[7])) echo $htmltekst[7];?> value=<?php if(isset($_POST['text'][7])) echo $_POST['text'][7];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[8])) echo $htmltekst[8];?> value=<?php if(isset($_POST['text'][8])) echo $_POST['text'][8];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="text" name="text[]" <?php if(isset($htmltekst[9])) echo $htmltekst[9];?> value=<?php if(isset($_POST['text'][9])) echo $_POST['text'][9];?>><br>  <!-- Hier voegen we het stukje HTML toe aan de tag voor de textbox -->
        <input type="submit" name="submit">
    </form>
</body>
</html>
 
Het klopt dat de code korter kan. Daarom zei ik ook dat de code niet heel netjes is, maar de code die ik gaf is makkelijk uit te leggen en makkelijk uit te breiden daarom gebruikte ik die. Wel mooi dat je voor de volledigheid de kortere/nette code post.
 
Googlemuscle, hartelijk dank voor het posten van de kortere/nette code. Ik heb echter de code van Supernail gebruikt omdat ik op deze manier makkelijker kan terugvinden welke waarde bij welke text-input hoort.
Natuurlijk is jouw post altijd handig voor anderen die tegen hetzelfde probleem als ik aanliepen. ;)

Groeten!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan