Update via Formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Medior Java 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 »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »
Jurgen de Brouwer

Jurgen de Brouwer

15/11/2014 18:25:21
Quote Anchor link
Hallo,

Ik heb een vreemd probleem.
Ik heb een script waar ik mijn database mee kan update.
Dit werkt perfect.
Alleen in mijn formulier worden de database waardes niet goed weergeven
Als er 2 woorden in de tabel staan word alleen het eerste woord weergeven.
Weet iemand hoe ik dat kan oplossen?

Want als ik nu bijvoorbeeld maar 1 regel wil aanpassen en een andere regel bevat bv Jan klaassen.
Veranderd dit in 'Jan'

Dit is mijn scipt:

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
<?php
$sql
= "SELECT * FROM `tabel' WHERE     ID='1'";

$result = mysql_query( $sql, $db );
while( $row = mysql_fetch_array( $result )) {


echo "<form action=update.php method=post>";
echo "<table width=600 border=1>";
echo "<tr><td width=230 align=right><span class=style2>ID:</span></td>";

    echo "<td width=370><input type=text name=ID value=" . $row['ID'] . "></td>";
      echo "</tr><tr><td align=right><span class=style2>Regel1:</span></td>";
      echo "<td><input type=text name=regel1 id=regel1 value=" . $row['regel1'] . " ></td>";
      echo "</tr><tr><td align=right><span class=style2>Regel2</span></td>";
    echo "<td><input type=text name=regel2 id=ragel2 value=" . $row['regel2'] . "></td>";
     echo "</tr><tr><td align=right><span class=style2>Prijs:</span></td>";
    echo "<td><input type=text name=prijs id=prijs value=" . $row['prijs'] . "></td>";
     echo "</tr><td>" . "<input type=submit name=update value=update" . " </td>";
     echo "<td>" . "<input type=hidden name=ID value=" . $row['ID'] . "</td>";
    echo "</form>
</table>"
;
}

?>
Gewijzigd op 15/11/2014 18:26:04 door Jurgen de Brouwer
 
PHP hulp

PHP hulp

26/04/2024 15:12:23
 
- Ariën  -
Beheerder

- Ariën -

15/11/2014 18:31:17
Quote Anchor link
Waarom gebruik je een while-loop voor een enkel record? Lijkt me overbodig...
En wat zegt een print_r() op $row?
 
Pipo Clown

Pipo Clown

15/11/2014 18:45:14
Quote Anchor link
Ik zou eerst je HTML eens op orde gaan maken.

Je begint een tabel binnen een form om diezelfde tabel buiten de form te beeindigen,
je gebruikt inline CSS wat behoorlijk achterhaald is, er is nagenoeg geen enkele quote gebruikt bij de id- en naam-waarden, er wordt nergens ingesprongen waardoor het overzicht totaal kwijt is.
 
Jurgen de Brouwer

Jurgen de Brouwer

15/11/2014 19:55:59
Quote Anchor link
Hoe zou ik dat anders kunnen doen als een while-loop?
Als ik print_r() doe krijg ik netjes alle informatie te zien.


Is de html zo beter?

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
<?php
$sql
= "SELECT * FROM `tabel` WHERE ID='1'";


$result = mysql_query( $sql, $db );
while( $row = mysql_fetch_array( $result )) {

echo "<form action=update.php method=post>";
echo "<table width='300' border='1' cellspacing='5' cellpadding='0'>";
echo "<tr><td>ID:</td>";
echo "<td><input type='text' name='ID' value=" . $row['ID'] . "></td>";
echo "</tr><tr><td>Regel 1:</td>";
echo "<td><input type='text' name='regel1' value=" . $row['regel1'] . ">";
echo "<tr><td>Regel 2:</td>";
echo "<td><input type='text' name='regel2' value=" . $row['regel2'] . "></td>";
echo "</tr><tr><td>Prijs:</td>";
echo "<td><input type='text' name='prijs' value=" . $row['prijs'] . "></td>";
echo "</tr><tr>";
echo "<td><input type='hidden' name='ID' value=" . $row['ID'] . "></td>";
echo "<td><input type='submit' name='update' value='update'> </td>";
echo "</tr></table>";
echo "</form>";
}

?>
 
Pipo Clown

Pipo Clown

15/11/2014 20:53:42
Quote Anchor link
Kijk eens naar onderstaande code, ik denk dat dit een stuk duidelijker is, het is bovendien minder typewerk, veel minder quotjes en punt kommas.

Bovendien zag ik op deze manier in één oogopslag dat er een </tr> ontbrakt na naam1.

Binnen HTML code moet je dubbelquotes gebruiken ipv enkelquotes.

Op de regel <form stonden helemaal geen quotes.

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
<?php
$sql
= "SELECT * FROM tabel WHERE ID=1 ";


$result = mysql_query( $sql, $db );
while( $row = mysql_fetch_array( $result )) {

    echo    <<<EOT
    <form action="update.php" method="post">
        <table width="300" border="1" cellspacing="5" cellpadding="0">
            <tr>
                <td>ID:</td>
                <td><input type="text" name="ID" value="$row[ID]"></td>
            </tr>
            <tr>
                <td>Regel 1:</td>
                <td><input type="text" name="regel1" value="$row[regel1]">
            </tr>
            <tr>
                <td>Regel 2:</td>
                <td><input type="text" name="regel2" value="$row[regel2]"></td>
            </tr>
            <tr>
                <td>Prijs:</td>
                <td><input type="text" name="prijs" value="$row[prijs]"></td>
            </tr>
            <tr>
                <td><input type="hidden" name="ID" value="$row[ID]"></td>
                <td><input type="submit" name="update" value="update"></td>
            </tr>
        </table>
    </form>
EOT
;

}

?>
Gewijzigd op 15/11/2014 20:54:24 door Pipo Clown
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/11/2014 21:50:41
Quote Anchor link
Jurgen de Brouwer op 15/11/2014 19:55:59:
Hoe zou ik dat anders kunnen doen als een while-loop?
Als ik print_r() doe krijg ik netjes alle informatie te zien.


Is de html zo beter?


Nou ik zag nog het één en ander
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php

// indien dit bestand in de POST methode wordt aangeroepen is het formulier verstuurd.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // GEBRUIK GEEN mysql_ meer maar gebruik mysqli_ of PDO !!!
    
    // update de record in de tabel

    $result = mysqli_query($db, "UPDATE tabel SET regel1='".mysqli_real_escape_string($_POST['regel1'])
                                            .
"', regel2='".mysqli_real_escape_string($_POST['regel2'])
                                            .
"', prijs='".mysqli_real_escape_string($_POST['prijs'])
                                            .
"' WHERE id=".intval($_POST['id']));
                            
    if($result === FALSE)
        throw new Exception('Update naar tabel mislukt.' . mysqli_error($db));
        
    // optioneel voor een update is een redirect.
    else
        header('Location: index.php');
}


$id = $_GET['id'];

// query is het handigste tussen double quotes
$sql = "SELECT * FROM tabel WHERE ID=" . $id;
$result = mysqli_query($db, $sql);

// gebruik mysql_fetch_assoc()! mysql_fetch_array() gebruikt dubbel zoveel geheugen.
$row = mysqli_fetch_assoc($result);

/*
 * als je zeker weet dat je niet meer dan één record
 * krijgt vervang je de while gewoon voor een if.
 * Bovendien heeft een record update geen zin als die
 * niet bestaat dus dan maar een foutmelding geven.
 */

if($row === FALSE)
{

    throw new Exception('Geen record gevonden met id '.$id. ' in de tabel.');
    exit;
}


/*
 * Na alle PHP logica komt de output. Dat kunnen we buiten de PHP tags doen
 * De <form> attributen stonden niet tussen double qoutes en dat hoort wel.
 * De action hou ik gewoon op de pagina zelf. Waarom weggaan zolang niet alles goed is?
 * Singleton elementen zoals input en img sluit je af met /> en niet alleen met een >
 */

?>

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
        <style>
            .labels {
              float:left;
              line-height: 25px;
              width: 70px;
              background-color: #CCC;
            }
            
            .form {
              float:left;
              line-height: 25px;
              width: 70px;
              margin-left:3px;
            }
            
            .clear {
              clear:both;
            }
    </style>
    </head>
    
    <body>
        <form action="" method="post"> <!-- waarom naar update.php? -->
            <div class="labels">
                <label for="id" >ID:</label><br>
                <label for="regel1" >Regel 1:</label><br>
                <label for="regel2" >Regel 2:</label><br>
                <label for="prijs" >Prijs:</label>
            </div>
            <div class="form">
                <input type="text" id="id" name="id" value="<?php echo $row['id']; ?>" /> <!-- singleton, dus />  -->
                <input type="text" id="regel1" name="regel1" value="<?php echo $row['regel1']; ?>" />
                <input type="text" id="regel2" name="regel2" value="<?php echo $row['regel2']; ?>" />
                <input type="text" id="prijs" name="prijs" value="<?php echo $row['prijs']; ?>" />
                <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
                <input type="submit" value="update" />
            </div>
            <div class="clear"></div>
        </form>
    </body>
</html>
Gewijzigd op 15/11/2014 22:00:33 door Frank Nietbelangrijk
 
Eddy E

Eddy E

15/11/2014 22:59:01
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
* Singleton elementen zoals input en img sluit je af met /> en niet alleen met een > */


Is niet nodig. Het mag wel, zodat het gelijk is aan X(HT)ML, maar het is in HTML(5) niet nodig. Ook in andere versies (4 bijvoorbeeld) niet nodig.

Voor de rest: veel beter. Al is $id = $_GET['id'] niet echt handig. Wat als die niet bestaat? En het is nu nutteloos kopieren. Gooi er dan tenminste nog een intval() overheen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/11/2014 23:03:45
Quote Anchor link
jep correct Eddy. Dank je wel voor de aanvulling.

p.s. Ik wist niet waar $id vandaan kwam dus gaf er wat dat betreft maar even een slinger aan :-)
 
Jurgen de Brouwer

Jurgen de Brouwer

16/11/2014 19:33:09
Quote Anchor link
Bedankt voor jullie reactie.
Weer veel van geleerd.

Alleen als ik de code gebruik van frank.
Word de datebase niet bijgewerkt.
Krijg ook geen fout meldingen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 01:03:45
Quote Anchor link
Hij was niet getest :-) Maar als je hem een beetje compleet plaatst kunnen we nog eens meekijken.
 
Jurgen de Brouwer

Jurgen de Brouwer

21/11/2014 13:25:13
Quote Anchor link
Sorry voor de late reactie.
Heb alleen tegen het weekend tijd om te hobbye.

Ik heb zelf een oplossing gevonden.
Dit is het script:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
error_reporting(E_ALL);
session_start();
require_once("info.php");
$db = mysqli_connect ($host, $user, $password) or die ("Kan geen verbinding maken met de database ");

mysqli_select_db($db, $dbnaam) or die ($fout);

// indien dit bestand in de POST methode wordt aangeroepen is het formulier verstuurd.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // GEBRUIK GEEN mysql_ meer maar gebruik mysqli_ of PDO !!!
    
    // update de record in de tabel

    
       $regel1 = $_POST['regel1'];
    $regel2 = $_POST['regel2'];
    $prijs = $_POST['prijs'];
    $id = $_POST['ID'];
    
   $result = mysqli_query($db, "UPDATE tabel
                                   SET
                                       regel1 = '$regel1',
                                       regel2 = '$regel2',
                                       prijs = '$prijs'    
                                  WHERE
                                          ID = '$id'"
);
                            
    if($result === FALSE)
        throw new Exception('Update naar tabel mislukt.' . mysqli_error($db));
        
    // optioneel voor een update is een redirect.
    else
        echo('Reclame Bijgewerkt!');
}




// query is het handigste tussen double quotes
$sql = "SELECT * FROM middelbeers WHERE ID=1";
$result = mysqli_query($db, $sql);

// gebruik mysql_fetch_assoc()! mysql_fetch_array() gebruikt dubbel zoveel geheugen.
$row = mysqli_fetch_assoc($result);

/*
 * als je zeker weet dat je niet meer dan één record
 * krijgt vervang je de while gewoon voor een if.
 * Bovendien heeft een record update geen zin als die
 * niet bestaat dus dan maar een foutmelding geven.
 */

if($row === FALSE)
{

    throw new Exception('Geen record gevonden in de tabel.');
    exit;
}


/*
 * Na alle PHP logica komt de output. Dat kunnen we buiten de PHP tags doen
 * De <form> attributen stonden niet tussen double qoutes en dat hoort wel.
 * De action hou ik gewoon op de pagina zelf. Waarom weggaan zolang niet alles goed is?
 * Singleton elementen zoals input en img sluit je af met /> en niet alleen met een >
 */

?>

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
        <style>
            .labels {
              float:left;
              line-height: 25px;
              width: 70px;
              background-color: #CCC;
            }
            
            .form {
              float:left;
              line-height: 25px;
              width: 70px;
              margin-left:3px;
            }
            
            .clear {
              clear:both;
            }
    </style>
    </head>
    
    <body>
        <form action="" method="post"> <!-- waarom naar update.php? -->
            <div class="labels">
                <label for="id" >ID:</label><br>
                <label for="regel1" >Regel 1:</label><br>
                <label for="regel2" >Regel 2:</label><br>
                <label for="prijs" >Prijs:</label>
            </div>
            <div class="form">
                <input type="text" id="ID" name="ID" value="<?php echo $row['ID']; ?>" /> <!-- singleton, dus />  -->
                <input type="text" id="regel1" name="regel1" value="<?php echo $row['regel1']; ?>" />
                <input type="text" id="regel2" name="regel2" value="<?php echo $row['regel2']; ?>" />
                <input type="text" id="prijs" name="prijs" value="<?php echo $row['prijs']; ?>" />
                <input type="hidden" name="ID" value="<?php echo $row['ID']; ?>" />
                <input type="submit" value="update" />
            </div>
            <div class="clear"></div>
        </form>
    </body>
</html>


Wat is het voordeel van een mysqli_real_escape_string zoals in jullie voorbeeld gebruikt word?
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 21/11/2014 13:39:20 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

21/11/2014 13:40:09
Quote Anchor link
SQL-injection voorkomen, een hacking-techniek waarbij anderen eenvoudig je database-quotes kan manipuleren:
http://nl.wikipedia.org/wiki/SQL-injectie
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/11/2014 14:07:19
Quote Anchor link
Oké, ik heb even gekeken.

Volgens mij heb jij de foutmeldingen niet aan staan. Zet dit dan altijd bovenaan in je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
?>


Op regel vijf mag je direct de database selecteren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= mysqli_connect ($host, $user, $password, $database);
?>

Dit is anders ten opzichte van de mysql_ functies.
Regel 7 mag dan ook komen te vervallen.

Verder staat er op regel 21 nog UPDATE tabel in plaats van UPDATE middelbeers.
 
Jurgen de Brouwer

Jurgen de Brouwer

21/11/2014 14:41:56
Quote Anchor link
Regel 21 klopt want ik heb per ongeluk mijn andere database verwijderd.

Als ik dit script:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once("info.php");
$db = mysqli_connect ($host, $user, $password, $dbnaam) or die ("Kan geen verbinding maken met de database ");

// indien dit bestand in de POST methode wordt aangeroepen is het formulier verstuurd.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // GEBRUIK GEEN mysql_ meer maar gebruik mysqli_ of PDO !!!
    
 
    
  $result = mysqli_query($db, "UPDATE middelbeers SET regel1='".mysqli_real_escape_string($_POST['regel1'])
                                            .
"', regel2='".mysqli_real_escape_string($_POST['regel2'])
                                            .
"', prijs='".mysqli_real_escape_string($_POST['prijs'])
                                            .
"' WHERE id=".intval($_POST['id']));
      
                            
    if($result === FALSE)
        throw new Exception('Update naar tabel mislukt.' . mysqli_error($db));
        
    // optioneel voor een update is een redirect.
    else
        echo('Reclame Bijgewerkt!');
}



$sql = "SELECT * FROM middelbeers WHERE ID=1";
$result = mysqli_query($db, $sql);

// gebruik mysql_fetch_assoc()! mysql_fetch_array() gebruikt dubbel zoveel geheugen.
$row = mysqli_fetch_assoc($result);

if($row === FALSE)
{

    throw new Exception('Geen record gevonden in de tabel.');
    exit;
}



?>

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
        <style>
            .labels {
              float:left;
              line-height: 25px;
              width: 70px;
              background-color: #CCC;
            }
            
            .form {
              float:left;
              line-height: 25px;
              width: 70px;Zaz
              margin-left:3px;
            }
            
            .clear {
              clear:both;
            }
    </style>
    </head>
    
    <body>
        
        <form action="" method="post"> <!-- waarom naar update.php? -->
            <div class="labels">
                <label for="id" >ID:</label><br>
                <label for="regel1" >Regel 1:</label><br>
                <label for="regel2" >Regel 2:</label><br>
                <label for="prijs" >Prijs:</label>
            </div>
            <div class="form">
                <input type="text" id="ID" name="ID" value="<?php echo $row['ID']; ?>" /> <!-- singleton, dus />  -->
                <input type="text" id="regel1" name="regel1" value="<?php echo $row['regel1']; ?>" />
                <input type="text" id="regel2" name="regel2" value="<?php echo $row['regel2']; ?>" />
                <input type="text" id="prijs" name="prijs" value="<?php echo $row['prijs']; ?>" />
                <textarea type="text" rows="5" cols="50" id-"test" name="test"><?php echo $row['test']; ?></textarea>
                <input type="hidden" name="ID" value="<?php echo $row['ID']; ?>" />
                <input type="submit" value="update" />
            </div>
            <div class="clear"></div>
        </form>
    </body>
</html>


krijg ik de volgende fout meldingen:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in F:\PHP\data\localweb\MYSQL\update1.php on line 14

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in F:\PHP\data\localweb\MYSQL\update1.php on line 15

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in F:\PHP\data\localweb\MYSQL\update1.php on line 16

Notice: Undefined index: id in F:\PHP\data\localweb\MYSQL\update1.php on line 17
Gewijzigd op 21/11/2014 14:43:29 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

21/11/2014 14:44:30
Quote Anchor link
Beste Jurgen, zou je in het vervolg de scripts die je in dit topic plaatst tussen [code] en [/code] willen plaatsen? Dan zijn ze beter leesbaarder voor iedereen. Alvast bedankt!

- Over de meldingen over mysqli_real_escape_string, je dient twee parameters op te geven. De eerste verwijst naar de variabele van je connectie, en de tweede bevat je input, zoals je nu gebruikt.
- Verder lijkt er geen 'id' mee te zijn gekomen via je $_POST.
Gewijzigd op 21/11/2014 14:46:55 door - Ariën -
 
Peter  Flos

Peter Flos

21/11/2014 14:45:21
Quote Anchor link
mysqli_real_escape_string heeft 2 parameters nodig en jij geeft er 1.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysqli_real_escape_string(PARA1, PARA2);
?>


Of ook wel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysqli_real_escape_string($db, $_POST['waarde']);
?>


Volgens mij kan je dit btw ook op google vinden...
 
Jurgen de Brouwer

Jurgen de Brouwer

21/11/2014 14:50:29
Quote Anchor link
Peter bedankt voor je reactie.
Wat denk je dat ik al 3 uur aan het doen ben?
Ik zeg GOOGLe weet alles.
Maar ik kon het effe niet vinden.
Bedankt
 



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.