Onlogische foutmeldingen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

UNIEK: Medior .NET developer in de polder gezocht!

Bedrijfsomschrijving Het betreft hier een kleine en informele organisatie die "turn-key" maatwerk applicaties bouwt voor de zakelijke klant. Ze doen dit met een klein informeel intern team aangevuld met freelancers indien het grotere projecten betreft. Door de kleinschaligheid van de organisatie kunnen medewerkers van dit bedrijf richting geven aan hun eigen ontwikkeling en is er een grote mate vrijheid in het uitvoeren van de werkzaamheden, zolang je maar binnen bepaalde kaders je werk afkrijgt. Functieomschrijving Voor deze .NET (C#, ASP.NET) functie zoeken wij een kandidaat die niet alleen goed overweg kan met .NET, maar die ook al uitstekend een planning

Bekijk vacature »

Senior Frontend developer

Wat wij bieden hybride werken,met als uitgangspunt 50% op kantoor en 50% vanuit huis; opleidingsmogelijkheden op basis van behoefte en ambitie; dus geen vast budget; flexibele werktijden en direct een contract voor onbepaalde tijd; 20 vakantiedagen en daarnaast 4,7% van je salaris om flexibel in te vullen, bijvoorbeeld goed voor 7 extra vakantiedagen; een mobiliteitsbudget dat aansluit bij jouw manier van reizen. Wat jij meeneemt een afgeronde technische hbo of wo opleiding; je bent een medior/senior frontend developer die zich wilt blijven ontwikkelen; expert in JavaScript, Angular, React of Vue. De uitdaging Als frontend developer bij Ordina JSRoots ontwerp en

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

C# .NET Core Ontwikkelaar

In het kort Als C# .NET Core ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Medior Software Developer Shops United

Medior Software Developer Shops United Rotterdam HBO/WO IT - software development Professional Wij groeien snel en hebben daarom per direct een mooie plek beschikbaar voor het volgende talent: Medior Software Developer (32 - 40 uur) Wat ga je doen? De afdeling bestaat nu uit 5 developers en we hebben alles al klaar staan voor onze nieuwe collega. Het team heeft veel invloed op de functionaliteit: van de gebruikersinterface, het ontwikkelen van nieuwe functionaliteiten, tot het deployen op de eindbestemming. Wij kunnen jouw hulp goed gebruiken en zijn zeer benieuwd naar jouw ideeën! Binnen het team heerst een getting-things-done mentaliteit. Om

Bekijk vacature »

Software ontwikkelaar

Software ontwikkelaar Ben jij als software ontwikkelaar geïnteresseerd in bijdragen aan de energietransitie en wil je werken met de laatste technieken? Dan kom ik graag met jou in contact! Als software ontwikkelaar bij een meetbedrijf / verduurzamer van gebouwen werk je met verschillende software systemen & applicaties. Binnen INNAX word er momenteel gewerkt aan een greenfield applicatieontwikkeling met behulp van de laatste technieken om het (EDS) Energie Data Systeem te vervangen. Het nieuwe systeem maakt gebruikt van een gedistribueerde architectuur (met macro-, mini-, en microservices) die door middel van service orchestration de interne processen kunnen afhandelen. DevOps zal worden gebruikt

Bekijk vacature »

Senior developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front end developer

Functie Onze development afdeling is multidisciplinaire ingericht. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg je voor de functionaliteit van de producten, maar ook de

Bekijk vacature »

Software Developer Technische Installaties / .NET

Samengevat: Deze werkgever is uw partner voor technische installaties en services. Ben jij geschikt als software Engineer? Heb je ervaring in een soortgelijke functie als Developer? Vaste baan: Software Developer Technische Installaties HBO 3.000 - 4.500 Software Engineer Service staat bij ons bovenaan en daarom staan wij altijd klaar onze klanten zo goed en snel mogelijk te helpen. Deze werkgever levert maatwerk producten, waarin de wensen van de klant centraal staan. Onze producten kenmerken zich door een hoge mate van betrouwbaarheid, bedieningsgemak en flexibiliteit. Deze werkgever is een gezellig maar professioneel team. Functie: Voor de vacature als Software Engineer Dordrecht

Bekijk vacature »

C++ developer

Functie Technologie in het hart van de esthetische geneeskunde en professionele beauty industrie, geleverd door een klein maar sterk team van 23 die jaren bij Innofaith werken. Dat geeft aan dat we erin zitten om te blijven. Bij Innofaith delen we een mentaliteit van innovatief ontwerpen en vervaardigen van ultramoderne high-tech scan- en beeldvormende diagnostische apparaten. Bekijk ons op sylton.com en ontdek snel meer. Wij van Innofaith zijn op zoek naar een belangrijke schakel in ons huidige team. Onlangs hebben we een nieuw product gelanceerd die de markt aan het veroveren is. Op software vlak valt nog wat winst te

Bekijk vacature »

Front-end developer / Magento 2

Functie Momenteel zijn ze op zoek naar een Front-end developer met ervaring in Magento die in staat is om samen met het team klanten volledig te ontzorgen door een product neer te zetten die nog beter is dan ze hadden gehoopt. Doordat ze vrijwel nooit op fixed price basis werken is er ook echt ruimte om de kwaliteit te leveren die je werk leuk maakt. Zo werk je aan reproduceerbare en schaalbare standaarden. Je werkt naast je eigen nieuwbouwprojecten ook aan het optimaliseren van bestaande projecten. Grofweg werk je 60% aan klantprojecten, ben je 20% bezig met innovatie en 20%

Bekijk vacature »

Outsystems Developer / Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »
Mohamed nvt

Mohamed nvt

18/08/2016 12:30:20
Quote Anchor link
Hallo allemaal,

Aan mijn testapplicatie heb ik een zoekfunctie toegevoegd.
Wanneer ik een item zoek, dan wordt het weergegeven precies zoals het bedoeld is in een tabel.
Echter, wanneer ik niets invul en klik op zoeken, dan wordt het laatste item weergegeven!
En wanneer ik zoek op een item wat niet bestaat, dan krijg ik wel de melding "geen zoekresultaten gevonden" en helaas ook veel undefined veriables.

Ik heb zelf het idee dat het te maken met het organiseren van de PHP code, maar ik kom er niet uit.
Kortom, ik heb dus twee problemen en zou graag jullie feedback willen hebben.

Alvast bedankt!

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
<?php include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

    
$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        }        
}

?>

<div id="content">
<h1>Search Results</h1>

    <?php
echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
echo "</table>"; ?>

<?php } ?>
</div>
<?php include "includes/footer.php"; ?>
 
PHP hulp

PHP hulp

02/10/2022 02:02:06
 
Ben van Velzen

Ben van Velzen

18/08/2016 12:38:34
Quote Anchor link
Op je eerste vraag: je zoekopdracht levert *alle* records op als resultaat wanneer je niets invult, immers wordt de zoekquery dan iets als "WHERE med_name LIKE '%%'". Je houdt nergens rekening met het feit dat je meer dan 1 resultaat kan hebben, je overschrijft constant je variabelen (maakt nutteloos extra variabelen aan) en print eenmalig je resultaat.

Op je tweede vraag: op welke regels krijg je deze meldingen? Vermoedelijk vraag je om kolommen die niet bestaan?

De foutmeldingen zijn niet onlogisch, het resultaat ook niet. Je code wel als dit niet is wat je probeert te bereiken.
Gewijzigd op 18/08/2016 12:39:19 door Ben van Velzen
 
Mohamed nvt

Mohamed nvt

18/08/2016 12:58:52
Quote Anchor link
Hallo Ben,

Wanneer ik niets invul en ik klik op zoeken, dan worden er niet alle records weergegeven, enkel het eerste item in de lijst. Ik ga nog even kijken hoe meerdere resultaten kunnen weergegeven worden. Deze punt is voor mij dus.


Wat bedoel je met dat ik constant de variabelen overschrijf? In andere topic heb ik aangegeven dat ik variabelen gebruik omdat ik het overzichtelijk vind. Als er een andere betere manier is, dan hoor ik dat graag.

Ik krijg onderstaande volgende foutmeldingen
en ik denk dat ik deze undefined foutmelding kan weghalen door de PHP code anders te laten beeindigen... en juist hier kom ik niet uit....


Notice: Undefined variable: medicine_name in D:\xampp\htdocs\inventory_test\search_results.php on line 35

Notice: Undefined variable: medicine_create_date in D:\xampp\htdocs\inventory_test\search_results.php on line 36
Notice: Undefined variable: medicine_expire_date in D:\xampp\htdocs\inventory_test\search_results.php on line 37

Notice: Undefined variable: medicine_factory in D:\xampp\htdocs\inventory_test\search_results.php on line 38

Notice: Undefined variable: medicine_register_date in D:\xampp\htdocs\inventory_test\search_results.php on line 39

Notice: Undefined variable: medicine_id in D:\xampp\htdocs\inventory_test\search_results.php on line 40

Notice: Undefined variable: medicine_id in D:\xampp\htdocs\inventory_test\search_results.php on line 41
 
Thomas van den Heuvel

Thomas van den Heuvel

18/08/2016 13:30:00
Quote Anchor link
Quote:
Ik krijg onderstaande volgende foutmeldingen
en ik denk dat ik deze undefined foutmelding kan weghalen door de PHP code anders te laten beeindigen... en juist hier kom ik niet uit....

Dit komt omdat je één resultaat afdrukt, of er nu resultaten zijn of niet.

Kijk maar eens naar de codeblokken van je code:
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
<?php
if (isset($_POST['submit'])) {
    // hier voer je je query uit
    if (!$search_query) {
        // foutmelding
    }
    
    if ($count == 0) {
        // geen resultaten
    } else {
        while ($row2 = mysqli_fetch_assoc($search_query)) {
            // while loop die continu resultaten overschrijft in variabelen
        }        
    }

    // hier druk je één resultaat af, ook al zijn er meerdere, of geen...
}
?>

De structuur van deze code kan anders en beter. Daarnaast komt het de leesbaarheid ten goede wanneer je correct inspringt.
Gewijzigd op 18/08/2016 13:31:35 door Thomas van den Heuvel
 
Mohamed nvt

Mohamed nvt

18/08/2016 14:03:14
Quote Anchor link
M.a.w zeg je dat ik na de loop moet controleren of er resultaten zijn?
Zo jah dan moet ik beslissen of ik een resultaat of meerdere wil weergeven?

Ik heb alleen geen idee hoe ik dat moet doen. En, voor de while loop controleer ik of de query resultaten heeft of niet...ben een beetje in de waar dus....snap je mij?
 
Ivo P

Ivo P

18/08/2016 14:08:13
Quote Anchor link
ik zou van regel 4 en 5 maken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($search = filter_input(INPUT_POST, 'search')) {
?>


Je wilt namelijk in eerste instantie niet weten of er op die knop gedrukt is. Je wilt weten of iemand iets heeft opgegeven waarop gezocht moet worden.

Deze if kijkt of het veld search gepost is EN of de waarde daarin niet leeg is.
Alleen dan lijkt me dat je wilt zoeken.

Verder kan het geen kwaad om een beetje logisch in te springen in je code. Dat maakt het overzichtelijker en leesbaarder.

(en naar mijn mening kan regel 6+7 ook leesbaarder worden door niet 2x iets aan de var toe te voegen, maar door gewoon binnen de query op enter te drukken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$query
= "SELECT *
          FROM tabel
          WHERE kolom LIKE '%"
. $search ."%'";
?>


(en dan ook nog even naar een escape functie kijken voor het geval iemand nog leuke opties weet met ' in de zoekterm)
 
Thomas van den Heuvel

Thomas van den Heuvel

18/08/2016 14:15:46
Quote Anchor link
De handigste plek om resultaten af te drukken is in de while-loop zelf.

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
<?php
// is er een formulier gesubmit?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // voer query uit
    $result = mysqli_query($connection, '... je query ...');
    // zijn er resultaten?
    if (mysqli_num_rows($result) == 0) {
        ?>
<p>Geen resultaten gevonden.</p><?php
    } else {
        // doorloop resultaten...
        while ($row = mysqli_fetch_assoc($result)) {
            // ... en druk deze hier direct af met behulp van $row
        }
    }

    // geef resultaten vrij
    mysqli_free_result($result);
}

?>


Als dit trouwens zoekfunctionaliteit betreft dan is het misschien handiger om te werken met GET in plaats van met POST.

Vermijd ook de introductie van overbodige variabelen.
 
Mohamed nvt

Mohamed nvt

18/08/2016 14:44:11
Quote Anchor link
Ik heb express de while code en de resultaten gescheiden van elkaar gehouden, omdat ik de resultaten in de div content wil weergeven, terwijl de while helemaal aan het begin, dus voor html uitgevoerd wordt, wordt uitgevoerd....

als er dus geen andere manier is, dan zal ik while loop en de resultaten weer samenvoegen...
 
Ivo P

Ivo P

18/08/2016 14:46:20
Quote Anchor link
je kunt die while wel apart houden, maar dan moet je ipv alle info in een variabele stoppen er een array voor gebruiken.

(en dan loop je in je div weer door je array heen.)

Kan wel, maar dan moet je 2x loopen
 
Mohamed nvt

Mohamed nvt

18/08/2016 15:08:47
Quote Anchor link
Update;
Nu heb ik de while loop code en resultaten samengevoegd.
En wanneer ik nu een paar letter invul, dan worden er meerdere resultaten weergegeven, dus zoals het hoort.
Het enige probleem waar ik nu tegen loop is dat alle records worden weergegeven wanneer ik niets invul en klik op search...

Iemand een idee hoe ik dit moet aanpakken?


BTW; voordat ik commentaar krijg over het aanpakken van security :) wil ik zeggen dat jullie allemaal gelijk hebben, en dit pak ik nadat ik de kern van de applicatie werkt :) bedankt voor jullie geduld!


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
<?php include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit']) & !empty($_POST['submit'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

    
$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";        
}

?>

<div id="content">
<h1>Search Results</h1>
<?php } ?>
</div>
<?php include "includes/footer.php"; ?>
 
Ivo P

Ivo P

18/08/2016 15:10:35
Quote Anchor link
ik heb net al een suggestie gedaan over regel 4 en 5

jij controleert nu of er op de button is gedrukt en of de button niet een lege value had. (waarschijnlijk de caption van de button???)

controleer dan of het zoekvlak niet leeg was.
Gewijzigd op 18/08/2016 15:11:30 door Ivo P
 
Mohamed nvt

Mohamed nvt

18/08/2016 15:27:36
Quote Anchor link
Het volgende heb ik nu toegevoegd, en het werkt ook gelukkig.
Bijkomend probleem is dat de div footer helemaal uitgestrekt wordt van links naar rechts wanneer er gedrukt is op search butten en niets is ingevuld...
Volgens mij is dit geen PHP probleem, maar weet niet zeker

nieuwe code op regel 5

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){


nieuwe code in regel 41
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php } else{
    
    
    echo "je hebt niets ingevuld";
}
?>
 
Ivo P

Ivo P

18/08/2016 15:32:43
Quote Anchor link
vraag: in welk geval zou de submitknop geen value naar de server sturen en in hoeverre is dat een reden om dan maar niet te zoeken?

Is de button trouwens aanwezig in de post-request als je na het invullen van het zoek-veld op enter drukt?

Vandaar dat veelal de vraag gesteld wordt: is het een post-request (zie post van Thomas: $_SERVER['REQUEST_METHOD'] == 'POST' )

of in mijn suggestie: om te kijken of het zoekveld in een post-request aanwezig is, en niet leeg (wat impliceert dat het een post-request is)

Toevoeging op 18/08/2016 15:36:17:

wat betreft de layout:

in de code die je toont, mis je in dat geval slechts de <table>

die zou je ook moeten missen als je zoekt op iets dat niet gevonden wordt.
Wat als je zoekt op lasjdlfkjalkjfasjiwjeriwe ?
 
Mohamed nvt

Mohamed nvt

18/08/2016 16:02:55
Quote Anchor link
Als ik nu een letter invul, dan wordt de div footer niet uitgestrekt.
Dit gebeurt enkel wanneer ik helemaal geen letter/string invul.
Betekent dit dat ik de regel 4 moet veranderen naar het volgende:

Btw; wanneer de string "No result found" van regel 14 wordt weergegeven, gebeurt dit aan de rechterkant van het pagina ipv aan de linkerkant of in het midden. Beetje vreemd vind ik dit...
huidige regel 4

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){


nieuwe regel 4
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SERVER["REQUEST_METHOD"] == "POST"


In welke regel zie je de tag <table> ontbreekt?

volledige code van search_results.php

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
<?php include "includes/db-config.php"; ?>
<?php include "includes/header.php"; ?>
<?php
if(isset($_POST['submit']) & !empty($_POST['submit']) & !empty($_POST['search'])){
$search = $_POST['search'];
$query = "SELECT * FROM medicines ";
$query .= "WHERE med_name LIKE '%$search%'";
$search_query = mysqli_query($connection,$query);
if(!$search_query){
    die(mysqli_error($connection));
    }

$count = mysqli_num_rows($search_query);
if($count == 0){
    echo "No result found";
    
    }
else {
        echo "<table width='70%' border='solid 1px;'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($search_query)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";        
}

?>

<div id="content">
<h1>Search Results</h1>
<?php } else{
    
    
    echo "je hebt niets ingevuld";
}

 ?>

</div>
<?php include "includes/footer.php"; ?>
 
Ivo P

Ivo P

18/08/2016 16:18:53
Quote Anchor link
De </div> van regel 47. Waar staat de <div> daarvan? op regel 39?

Maar regel 39 staat in een if-structuur
 
Michael -

Michael -

18/08/2016 17:45:56
Quote Anchor link
Je maakt er een rommeltje van en de tips die worden gegeven zie ik niet terug in je laatste code.
Variabelen kopiëren is onzin als je er verder niks mee doet (regel 5, 12 en 20-25).
Spring wat beter in zodat het overzichtelijk blijft (regel 18 en 19 horen in de loop, dus 2 tabs ervoor is duidelijker)

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
<?php
include "includes/db-config.php";
include "includes/header.php";

echo '<div id="content">'
    .'<h1>Search Results</h1>';

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['search']) && strlen(trim($_POST['search'])) > 0){
        
        $query = "SELECT
                    med_id,
                    med_name,
                    med_create_date,
                    med_expire_date,
                    med_factory_id,
                    med_register_date
                FROM
                    medicines
                WHERE
                    med_name LIKE '%"
. mysqli_real_escape_string($connection, $_POST['search']) . "%'";
        $search_query = mysqli_query($connection,$query);

        if(!$search_query){ // Niet nodig en nooit DIE gebruiken buiten de ontwikkel versie.
            die(mysqli_error($connection));
        }


        if(mysqli_num_rows($search_query) > 0){
            echo "<table width='70%' border='solid 1px;'>"
                . "<tr>"
                    . "<th>Name</th>"
                    . "<th>Production_Date</th>"
                    . "<th>Expire_Date</th>"
                    . "<th>Created by factory</th>"
                    . "<th>Added to database</th>"
                    . "<th>Edit</th>"
                    . "<th>Delete</th>"
                . "</tr>";
            while ($row2 = mysqli_fetch_assoc($search_query)){
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
            }

            echo "</table>";        
        }
else {
            echo 'Geen resultaten';
        }
    }
else {
        echo 'Niks ingevuld';
    }
}


echo '</div>';

include "includes/footer.php";
?>
Gewijzigd op 18/08/2016 17:47:42 door Michael -
 
Mohamed nvt

Mohamed nvt

20/08/2016 14:00:53
Quote Anchor link
Ivo P op 18/08/2016 16:18:53:
De </div> van regel 47. Waar staat de <div> daarvan? op regel 39?

Maar regel 39 staat in een if-structuur

Die div is van de wrapper.
Elk pagina heb ik als volgt gestructureerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<div id="wrapper">
<div id="header"></div>
<div id="content"></div>
<div id="sidebar"></div>
<div id="footer"></div>
</div>


Toevoeging op 20/08/2016 14:05:44:

Michael - op 18/08/2016 17:45:56:
Je maakt er een rommeltje van en de tips die worden gegeven zie ik niet terug in je laatste code.
Variabelen kopiëren is onzin als je er verder niks mee doet (regel 5, 12 en 20-25).
Spring wat beter in zodat het overzichtelijk blijft (regel 18 en 19 horen in de loop, dus 2 tabs ervoor is duidelijker)

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
<?php
include "includes/db-config.php";
include "includes/header.php";

echo '<div id="content">'
    .'<h1>Search Results</h1>';

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['search']) && strlen(trim($_POST['search'])) > 0){
        
        $query = "SELECT
                    med_id,
                    med_name,
                    med_create_date,
                    med_expire_date,
                    med_factory_id,
                    med_register_date
                FROM
                    medicines
                WHERE
                    med_name LIKE '%"
. mysqli_real_escape_string($connection, $_POST['search']) . "%'";
        $search_query = mysqli_query($connection,$query);

        if(!$search_query){ // Niet nodig en nooit DIE gebruiken buiten de ontwikkel versie.
            die(mysqli_error($connection));
        }


        if(mysqli_num_rows($search_query) > 0){
            echo "<table width='70%' border='solid 1px;'>"
                . "<tr>"
                    . "<th>Name</th>"
                    . "<th>Production_Date</th>"
                    . "<th>Expire_Date</th>"
                    . "<th>Created by factory</th>"
                    . "<th>Added to database</th>"
                    . "<th>Edit</th>"
                    . "<th>Delete</th>"
                . "</tr>";
            while ($row2 = mysqli_fetch_assoc($search_query)){
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
            }

            echo "</table>";        
        }
else {
            echo 'Geen resultaten';
        }
    }
else {
        echo 'Niks ingevuld';
    }
}


echo '</div>';

include "includes/footer.php";
?>


Hallo Michael,

Bedankt voor je feedback.
De tips die worden gegeven, heb ik deels gevolgd, want ik wil het zelf begrepen en later als er problemen zijn het zelf oplossen.
En de variabelen van lijn 21 t/m 26 heb ik weer gebruikt in lijn 28 t/m 34.
Jouw code vind ik ook goed, maar vind persoonlijk gevoeliger voor synatx errors.

Update:

Bij nader inzien, vind ik dat je gelijk hebt. Ik zie ook dat je code beter eruit ziet en georganiseerder is. Tnx!
Gewijzigd op 20/08/2016 15:15:50 door Mohamed nvt
 
Eddy E

Eddy E

21/08/2016 10:35:59
Quote Anchor link
Voor je eigen leesbaarheid én het voorkomen van fouten (een lege regel die een onverklaarbare ruimte in je HTML-elementen maakt), kan dit beter anders doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
                echo "<tr>" .
                    "<td>{$row2['med_name']}</td>" .
                    "<td>{$row2['med_create_date']}</td>" .
                    "<td>{$row2['med_expire_date']}</td>" .
                    "<td>{$row2['med_factory_id']}</td>" .
                    "<td>{$row2['med_register_date']}</td>" .
                    "<td><a href='edit.php?id={$row2['med_id']}'>Edit</a></td>" .
                    "<td><a href='delete.php?id={$row2['med_id']}'>Delete</a></td>" .
                    "</tr>";
?>


Dat kan beter zo.
Let op het escapen etc.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
               echo '<tr>
            <td>'
.$row2['med_name'].'</td>
                        <td>'
.$row2['med_create_date'].'</td>
                        <td>'
.$row2['med_expire_date'].'</td>
                        <td>'
.$row2['med_factory_id']}.'</td>
                        <td>'
.$row2['med_register_date'].'</td>
                        <td><a href="edit.php?id='
.$row2['med_id'].'">Edit</a></td>
                        <td><a href="delete.php?id='
.$row2['med_id'].'">Delete</a></td>
                    </tr>'
;
?>


Dus je opent je echo met een enkel haakje.
Je escapet al je variabelen met enkele haakjes
Je gebruikt gewoon dubbele haakjes in HTML (zie onderste regels).
Je sluit niet elke keer je echo af, het is 1 echo!
 
Michael -

Michael -

21/08/2016 12:58:08
Quote Anchor link
Eddy E op 21/08/2016 10:35:59:
Dus je opent je echo met een enkel haakje.
Je escapet al je variabelen met enkele haakjes
Je gebruikt gewoon dubbele haakjes in HTML (zie onderste regels).
Je sluit niet elke keer je echo af, het is 1 echo!


PHP laat je daarin heel vrij in tegenstelling tot andere programmeertalen die een structuur eisen.
Persoonlijk doe ik het zo omdat ik dat mooier vind. Iedereen heeft zijn eigen manier wat hij/zij het fijnste vind.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo '<tr>' . PHP_EOL
. '<td>' . $row2['med_name'] . '</td>' . PHP_EOL
. '</tr>' . PHP_EOL;
?>
Gewijzigd op 21/08/2016 12:58:54 door Michael -
 
Ivo P

Ivo P

21/08/2016 18:43:28
Quote Anchor link
"Die div is van de wrapper."

Daar gaat het niet om.

ik bedoelde dat je zelf even in je code de bijbehorende div opzoekt.
dan zie je dat die IN een if staat, maar de </div> komt altijd. ook als de if false was.
 
Mohamed nvt

Mohamed nvt

22/08/2016 11:12:56
Quote Anchor link
Ivo P op 21/08/2016 18:43:28:
"Die div is van de wrapper."

Daar gaat het niet om.

ik bedoelde dat je zelf even in je code de bijbehorende div opzoekt.
dan zie je dat die IN een if staat, maar de </div> komt altijd. ook als de if false was.

Aha dat bedoel je.
Inmiddels heb ik het aangepast.
Tnx!
 



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.