v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Få adgang til alt på hele v5.dk
- bliv Premium-medlem for kun 39,95 kr.

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

Validering af ikke eksisterente produkter

  • v5.dk
  • Forum
  • PHP-programmering
  • Validering af ikke eksisterente produkter
  • Sidevisninger: 1984 har set dette indlæg
Besvar #0Spørgsmål oprettet af @PXMDK | 4365 points
15 points ude 2 indlæg 5 år siden Spørgsmål besvaret
avatar
 

Er igang med at lave en  POST øvelse, og laver en formular med tekstfelter! jeg laver nu et søgningsværktøj til lager. Brugeren skal have 2 tekstfelter (navn og pris) som han kan indtaste i. Når han trykker submit, skal man via POST finde og udskrive de varer, som der matcher hans søgning.

 Jeg har fået det til at virke hvor søgningen virker på et felt af gangen, men ikke samtidig.

Og så hvis varen ikke findes, så skal den returnerer med at varen ikke findes.

 <html>

    <head>

        <title>Øvelse 5 - Video 5</title>

    </head>

    <body>

        <h1>Lagerstyring</h1>

        <form method="POST" action="5_4_Post.php"

            <label for="vare">Produkt</label>

            <input type="text" name="vare">

           

                    <br><br>

                   

            <label for="pris">Pris</label>

            <input type="number" name="pris">

                    <br><br>

                   

            <input type="submit" value="Søg">

        </form>

    </body>

</html>

 

 

 

<?php

 

require_once '5_3_connect.php';

echo "<br><hr>";

 

echo "Du har søgt på følgende:<br><br>";

 

echo "Produkt: " . $_POST['vare'];

echo "<br>";

echo "Pris: " . $_POST['pris'];

echo "<br><br>";

 

 

$lager = $_POST['vare'];

$stmt = $mysqli->prepare("SELECT navn, pris, antal FROM lager WHERE navn=?");

$stmt->bind_param("s",$lager);

$stmt->execute();

$stmt->bind_result($navn, $pris, $antal);

 

while ($stmt->fetch()) {

    echo "Vi følgende på lager:<br>";

    echo "Produkt: " . $navn . ": ". "Antal: " . $antal . " stk.";

    echo "<br>";

    echo "Kr. " . $pris . " pr. stk.";

    echo "<br><br>";

 

}

$stmt->close();

 

 

Dette svar er accepteret af OP og tildelt 15 points
avatar
 
Besvar#1 @dhh Admin svarede for 5 år siden

Hej  PXMDK @PXMDK   

Det klart nemmeste ville være at lave if/elseif/else konsekvenser for hvordan du vil kalde din database query. Et lille eksempel nedenunder her:

/*
 * Tjekker om begge felter er sat, hvis de er bruger vi begge.
 */
if (empty($_POST['vare']) && empty($_POST['pris'])) {
    $stmt = $mysqli->prepare("SELECT navn, pris, antal FROM lager WHERE navn = ? AND pris = ?");
    $stmt->bind_param("s", $_POST['vare'], $_POST['pris']);
} elseif (empty($_POST['vare'])) {
    /*
     * Hvis kun "vare" er sat.
     */
    $stmt = $mysqli->prepare("SELECT navn, pris, antal FROM lager WHERE navn = ?");
    $stmt->bind_param("s", $_POST['vare']);
} elseif (empty($_POST['pris'])) {
    /*
     * Hvis kun "pris" er sat.
     */
    $stmt = $mysqli->prepare("SELECT navn, pris, antal FROM lager WHERE pris = ?");
    $stmt->bind_param("s", $_POST['pris']);
} else {
    /*
     * Intet var søgt på, redirect tilbage til søge formularen.
     * Skift Location: / ud med hvor din formular er.
     */
    header("Location: /"); die();
}

/*
 * Gå videre med at execute og så videre...
 */
$stmt->execute();

$stmt->bind_result($navn, $pris, $antal);

Det er en måde at gøre tingene på. (Ikke den bedste, men en måde i min personlige mening.) Jeg vil dog sige (selvom det er vores video på et brugersystem i PHP) at du med fordel kan se denne her video omkring validering af POST data. (Formularer.)

Link: https://v5.dk/php-programmering/validering-af-data-fra-vores-formular.html

Og går du tilbage fra det link til det "Forrige afsnit" eller følger linket her: https://v5.dk/php-programmering/opbygning-af-fejlhandterings-system-med-et-array-i-php.html

Så får du lidt ekstra god viden omkring "Opbygning af fejlhåndterings-system med et array i PHP".

God fornøjelse. 

P.S: Hvis du undre dig over min måde at kommentere på, er det fordi jeg har siddet med "C programmerings sproget" i noget tid. Så det har holdt lidt ved. Man kan gøre det på mange måder. PHP er især fleksibel på dette punkt. 

Redigeret af dhh @dhh  d. 10.11.2016 kl. 12:34

Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#2 @PXMDK kommenterede for 5 år siden

 #1  Tak for svar, det bliver afprøvet senere, synes selv det giver ret god mening :)

Spørgsmålet er besvaret, men du er altid mere end velkommen til at skrive en kommentar!
avatar
 

Du er ikke logget ind

Du skal være logget ind på v5.dk før du kan benytte vores forum. Det er ganske gratis at oprette en bruger.

Opret en ny gratis bruger Log ind

Følger med i denne tråd

PXMDK

Forum kategorier

  • Generelt
  • Guides & Howto28
  • Offtopic / Andet59
  • Microsoft Office
  • Microsoft Word11
  • Microsoft Excel4
  • Microsoft PowerPoint0
  • Web og hjemmesider
  • Wordpress17
  • Operativsystemer
  • Apple Mac OS X12
  • Apple iOS28
  • Microsoft Windows3
  • Linux16
  • Teknologier
  • Netværk og WiFi3
  • Internet-tjenester9
  • Programmering
  • PHP-programmering124
  • iPhone-/Xcode-programmering9

Aktive forum-tråde lige nu

ÆØÅ
WHERE TO BUY GRADE AA+ UNDETECTABLE COUNTERFEIT BANK NOTES,REAL PASSPORTS,DRIVERS LICENSES,ID CARDS
HVOR KØBES GRADE AA+ IKKE-OPSEGLERBARE FORfalskede pengesedler, RIGTIGE PAS, KØREKORT, ID-KORT
HVOR KØBES GRADE AA+ IKKE-OPSEGLERBARE FORfalskede pengesedler, RIGTIGE PAS, KØREKORT, ID-KORT
Tegne Program
MacBook gået ud ved indsættelse at IPhone SE…
Loop Nested JSON Array til Table
Knap
Bygget med af v5.dk
© Copyright 2006-2022 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap