Onlogische foutmeldingen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

Full-stack Developer

As a Full-stack developer at KUBUS, you will develop the (web)applications and services of BIMcollab. You will work on both the front- and back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual developer you can have an impact and really make a difference. Our development team consists of over 40 developers, testers, scrum masters and product owners, divided over

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Junior Software developer

Functie Als junior .NET ontwikkelaar start jij in een compact team met drie ervaren .NET ontwikkelaars. Wij werken op projectbasis en begeleiden zelf het hele traject van A tot Z. Wij bieden jou dan ook een brede functie aan met veel technische uitdaging! Ons traject ziet er als volgt uit: 1) Wij analyseren de behoefte van onze klant 2) Wij werken de behoefte uit en vertalen dit naar technische werkzaamheden en maken een uren/kosten schatting; 3) Wij gaan aan de slag met het ontwikkelen van het product met directe feedback van de klant, zodat datgene gerealiseerd wordt, wat gewenst is;

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

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

01/06/2024 11:03:16
 
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.