Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PHP Form action met variabele.

Pagina: 1
Acties:
  • 888 views

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Goedemiddag,

Wederom zit ik met een probleem, zal een uitgebreide toelichting geven:

Ik heb onderstaande pagina (reparatiebewerk.php) welke wordt geopend vanuit een overzicht met reparaties.
Afbeeldingslocatie: http://i58.tinypic.com/13z908k.png

De linkerkant wordt uit de tabel reparatie gehaald. Dit is read only. De rechterkant zit het probleem. Hier moet ik reparatie gegevens neer kunnen zetten. Denk aan het aantal gewerkte uren, gebruikte materialen, status en overige opmerkingen. Deze gegevens moeten vervolgens gepost worden in dezelfde database als de reparatiegegevens aan de linkerkant. (reparatie tabel) Dus de bestaande tabel moet worden bijgewerkt, veld 11 tot en met 15:
Afbeeldingslocatie: http://i60.tinypic.com/eqdqir.png

Nu weet ik inmiddels dat ik hiervoor het update commando moet gebruiken, want ik moet bijwerken. Daarvoor heb ik deze code in reparatiebewerk.php gezet.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
      <?php
       "
        UPDATE reparatie 
        SET 
        uren = " . ( @$_POST['uren'] ) . "
        materiaal = " . ( @$_POST['materiaal'] ) . " 
        status = " . ( @$_POST['status'] ) . "
        kosten = " . ( @$_POST['kosten'] ) . " 
        opmerking = " . ( @$_POST['opmerking'] ) . "
            WHERE reparatieid = '$reparatie_id'
      
        "
      ?>


Maar nu mijn vraag, wat voer ik in bij de form action? hij moet zichzelf uitvoeren, dus dat zou zijn:
HTML:
1
<form name="reparatieinfo" action="reparatiebewerk.php method="post">


Maar, doordat ik met variabelen werk op basis van het reparatieID, en de url er ook zo uitziet:
http://127.0.0.1/reparati...reparatieid=54803a5b0221a

Zal ik iets moeten doen met een get als in:
HTML:
1
<form name="reparatieinfo" action="reparatiebewerk.php?reparatie_id=<?php echo $reparatie_id ?> method="post">


en
$reparatie_id = $_GET["reparatieid"];

Maar hier loop ik dus vast, want het werkt niet, en ik heb echt geen idee wat ik fout doe. Kunnen jullie me op weg helpen?

Verwijderd

De syntax highlighting vertelt je al dat je op je "-tekens moet letten.
Maar als je een extra waarde wilt meegeven in een post-request, gebruik dan <input type="hidden" name="reparatie_id" value="<?php echo htmlspecialchars($reparatie_id); ?>">

Verder: escaping escaping escaping escaping. En gebruik een framework, dit leidt tot niets.

  • ByteMe_
  • Registratie: Januari 2009
  • Niet online
je mist een " om action af te sluiten. Ondersteund je server shorttags? Dan kan je het zo doen:

code:
1
<form name="reparatieinfo" action="reparatiebewerk.php?reparatie_id=<?=$reparatie_id?>" method="post">


of nog simpeler naar zichzelf sturen:

code:
1
<form name="reparatieinfo" action="<?=$_SERVER["PHP_SELF"]?>" method="post">

Mijn laatste reviews: Xiaomi Mi 9T | Mpow H12


  • BLACKfm
  • Registratie: Maart 2004
  • Laatst online: 20-11 18:52

BLACKfm

O_o

Als je gegevens uitleest en bewerkt op de zelfde pagina zou ik sowieso gebruikmaken van IF statements en functions om de boel een beetje ordelijk in te richten.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
IF (empty($_POST['reparatieid'])) {
   // Als reparatieid niet is ingevuld vanuit een form, voer dan deze code uit
   bijwerken();
} else {
   // En als dat wel zo is, of in elk ander geval, dan voer je deze code uit.
   uitlezen();
}

function uitlezen() {
   // Lees hier de database uit (gegevens) en voeg het formulier (informatie) toe
}

function bijwerken() {
   // Voer het je UPDATE uit voor de database
}


Het formulier kun je dan in zijn algemeenheid gewoon naar zichzelf laten verwijzen volgens de methode van RonaldDesigns. Geef in het formulier dan wel aan wat het reparatieid is middels een hidden of locked input veld. Het reparatieid kun je dan wel weer opvragen vanuit de URL ($_GET), maar liever via een $_POST vanuit de vorige pagina (al moet je dan wel de IF statement aanpassen omdat bij een $_POST het reparatieid al bekend is).

Juist- en netheid voorbehouden

  • Stroopwafels
  • Registratie: September 2009
  • Laatst online: 21:28
RonaldDesigns schreef op zaterdag 13 december 2014 @ 13:16:
je mist een " om action af te sluiten. Ondersteund je server shorttags? Dan kan je het zo doen:

code:
1
<form name="reparatieinfo" action="reparatiebewerk.php?reparatie_id=<?=$reparatie_id?>" method="post">


of nog simpeler naar zichzelf sturen:

code:
1
<form name="reparatieinfo" action="<?=$_SERVER["PHP_SELF"]?>" method="post">
Of nog simpeler:
code:
1
<form name="reparatieinfo" method="post">


$_SERVER['PHP_SELF'] direct gebruiken = XSS.

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Thanks voor de reacties! De PHP self oplossingen maken geen verschil tegenover mijn huidige code, ik blijf deze error krijgen:

Notice: Undefined index: reparatieid in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 97

Hier haal ik dus uit (correct if i am wrong) Dat het reparatieID niet kan worden gevonden.. Zie code van de pagina, line 97 is nu line 5.

HTML:
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
               <div class="reparatiegegevens">
                     
               <?php
//De gegevens uit de reparatietabel worden geselecteerd en in een query geplaatst
                $reparatie_id = $_GET["reparatieid"];
                $result = mysql_query("SELECT * FROM reparatie WHERE reparatieid = '$reparatie_id'") or die ("Kan geen verbinding omdat : ".mysql_error()); 
    
                    if (mysql_num_rows($result)) { 
                    while ($qry = mysql_fetch_array($result)) { ?> 
                    
                    
                    
<!-- Onderstaand formulier haalt alle reparatiedetails uit de database, en plaatst deze in een formulier -->
<form> 
    <fieldset>
    <legend>Gegevens</legend>
        <p><label class="veld" for="klantid">KlantID:</label>            <input readonly type="text" name="klantid" value=<?php echo ($qry['klantid']); ?>></p> 
        <p><label class="veld" for="merk">Merk:</label>                  <input readonly type="text" name="merk"    value=<?php echo ($qry['merk']);    ?>></p> 
        <p><label class="veld" for="model">Model:</label>                <input readonly type="text" name="model" value=<?php echo ($qry['model']); ?>></p> 
        <p><label class="veld" for="framenummer">Framenummer:</label>    <input readonly type="text" name="framenummer" value=<?php echo ($qry['framenummer']); ?>></p> 
        <p><label class="veld" for="verzekerd">Verzekerd:</label>        <input readonly type="text" name="verzekerd" value=<?php echo ($qry['verzekerd']); ?>></p> 
        <p><label class="veld" for="garantie">Garantie:</label>          <input readonly type="text" name="garantie" value=<?php echo ($qry['garantie']); ?>></p> 
        <p><label class="veld" for="gereed">Gereed:</label>              <input readonly type="text" name="gereed" value=<?php echo ($qry['gereed']); ?>></p> 
        <p><label class="veld" for="opdracht">Opdracht:</label>          <textarea readonly name="opdracht" rows="5" cols="35" value=><?php echo ($qry['opdracht']); ?></textarea></p>                
    </fieldset>
</form>
<? 
    }
}    
?>   

<!-- Onderstaand formulier laat de reparatie details invullen. Denk aan gebruikte materialen, aantal uur etc. -->
                </div>
                <div class="reparatieinfo">
                   <form name="reparatieinfo" action="<?=$_SERVER["PHP_SELF"]?>" method="post">

                        <fieldset>
                        <legend>Informatie</legend>    
                            <p><label class="veld" for="uren">Aantal uur:</label>     <select name="uren">
                                                                         <option value="1">1 uur</option>
                                                                         <option value="2">2 uur</option>
                                                                         <option value="3">3 uur</option>
                                                                         <option value="4">4 uur</option>
                                                                         <option value="5">5 uur</option>
                                                                         </select></p> 
                            <p><label class="veld" for="materiaal">Materiaal:</label>                  <input  type="text" name="materiaal" /></p> 
                            <p><label class="veld" for="status">Status</label>          <select name="status">
                                                                         <option value="selecteer">selecteer..</option>
                                                                         <option value="gereed">Gereed</option>
                                                                         <option value="onderdelen">Wacht op onderdelen</option>
                                                                         <option value="wachtklant">Wacht op klant</option>
                                                                         <option value="inbehandeling">In behandeling</option>
                                                                         <option value="geannuleerd">Geannuleerd</option>
                                                                                        </select></p> 
                            <p><label class="veld" for="kosten">Totaal kosten(&#8364;)</label>                  <input  type="text" name="kosten" /></p>                                    
                            <p><label class="veld" for="opmerking">Opmerking:</label><textarea name="opmerking" rows="5" cols="35"></textarea></p>                                                                    
                            <br>
                            <br>
                            <br>
                            <br>
                            <br>
                            <input type="submit" value="Bijwerken"/>
                        </fieldset>  
                    </form>   
              
                </div>
               
        </div>
      <?php
       "
        UPDATE reparatie 
        SET 
        uren = " . ( @$_POST['uren'] ) . "
        materiaal = " . ( @$_POST['materiaal'] ) . " 
        status = " . ( @$_POST['status'] ) . "
        kosten = " . ( @$_POST['kosten'] ) . " 
        opmerking = " . ( @$_POST['opmerking'] ) . "
            WHERE reparatieid = '$reparatie_id'
      
        "

      ?>

  • Taygeta
  • Registratie: April 2005
  • Laatst online: 18:49

Taygeta

KTM 790 Adventure

[code]action="<?=$_SERVER["PHP_SELF"]?>"[/code]

Het gaat hier fout


nvm :X

[ Voor 12% gewijzigd door Taygeta op 13-12-2014 15:20 ]


  • Stroopwafels
  • Registratie: September 2009
  • Laatst online: 21:28
En daarom moet je gaan debuggen, kijk welke variablen wel en niet bestaan.
Notice: Undefined index: reparatieid
Hier staat dus dat $_GET["reparatieid"] geen waarde heeft en dus niet bestaat.
Als je dan even de URL kijkt die je meegeeft zie je al snel dat daar een underscore staat, maar niet in de index.

Daarnaast, als PDO/prepared statements nog te moeilijk is, gebruik dan tenminste de mysql_real_escape_string functie om je variablen "veiliger" te maken in je queries. Of controleer of reparatieid een nummer is dmv ctype_digit of gebruik de intval functie.

Ook hoef je variablen niet tussen parentheses te zetten als je het op het scherm wilt tonen en moet je variablen/functies niet gaan onderdrukken met @, gewoon je formulier data controleren voordat je het verder gaat gebruiken.

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Stroopwafels schreef op zaterdag 13 december 2014 @ 15:30:
En daarom moet je gaan debuggen, kijk welke variablen wel en niet bestaan.


[...]


Hier staat dus dat $_GET["reparatieid"] geen waarde heeft en dus niet bestaat.
Als je dan even de URL kijkt die je meegeeft zie je al snel dat daar een underscore staat, maar niet in de index.
Yes, maar waarom werkt het bij het linkerformulier dan wel? Hij geeft de error alleen aan de rechterkant, daarom vind ik het zo vreemd.. En die underscore staat volgens mij overal wel goed, wellicht een beetje onduidelijk omdat de variabele $reparatie_id is, maar de naam in de database reparatieid

[ Voor 12% gewijzigd door Daantju op 13-12-2014 16:05 ]


  • BLACKfm
  • Registratie: Maart 2004
  • Laatst online: 20-11 18:52

BLACKfm

O_o

De pagina die je in je TS laat zien heet 'reparatiebewerk.php'.

Er is (uitgaande van je vorige topic) ook een pagina die de een overzicht geeft met een knop die naar reparatiebewerk.php gaat.

Die knop op de vorige pagina heeft een link 'http://adres.nl/reparatiebewerk.php?reparatieid=123abc'

Het reparatieid wordt vervolgens uitgelezen middels de $_GET en gestopt in een $var

PHP:
1
$reparatie_id = $_GET["reparatieid"];


Je verstuurd vervolgens het formulier, als je op 'bijwerken' drukt, naar de zelfde pagina 'reparatiebewerk.php'.

1x raden waar het hier vervolgens mis gaat.
Welke gegevens heb je nodig en welke stuur je mee als je het formulier verzend?

Edit:
En ik merk dat er veel gehamerd wordt op maatregelen tegen SQL-injecties (zie o.a. onderstaand bericht).
Al is het altijd goed om daar op te letten, als het een intern systeem betreft (ik zie vaak een lokaal ip adres in je voorbeeld links staan) lijkt me dat minder belangrijk.

Hoe dan ook zou ik zorgen dat de basis werkt en van daaruit de beveiliging uitbreiden, dat bespaart (zeker met beperkte kennis) de mogelijkheid op extra fouten in het beginproces.

[ Voor 24% gewijzigd door BLACKfm op 13-12-2014 16:15 ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Waarom heb je @ voor de $_POST variabelen staan? Het is niet dat een variabele iets fout kan doen, dus waarom foutmeldingen ermee onderdrukken? En hou - zeker met UPDATE queries - rekening met SQL-injection, waar je nu wel vatbaar voor bent.

Ook heb je in de linkerkolom (die read-only is?) een veld gereed staan. Als daar alleen read-only gegevens van de klant mogen staan, wat doet het gereed veld er dan? :) Het zou logischer zijn om er Start van te maken, als ik het zo zie. Je hebt immers dan start + tijd die ze bezig waren. :)

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
BLACKfm schreef op zaterdag 13 december 2014 @ 16:10:
De pagina die je in je TS laat zien heet 'reparatiebewerk.php'.

Er is (uitgaande van je vorige topic) ook een pagina die de een overzicht geeft met een knop die naar reparatiebewerk.php gaat.

Die knop op de vorige pagina heeft een link 'http://adres.nl/reparatiebewerk.php?reparatieid=123abc'

Het reparatieid wordt vervolgens uitgelezen middels de $_GET en gestopt in een $var

PHP:
1
$reparatie_id = $_GET["reparatieid"];


Je verstuurd vervolgens het formulier, als je op 'bijwerken' drukt, naar de zelfde pagina 'reparatiebewerk.php'.

1x raden waar het hier vervolgens mis gaat.
Welke gegevens heb je nodig en welke stuur je mee als je het formulier verzend?

Edit:
En ik merk dat er veel gehamerd wordt op maatregelen tegen SQL-injecties (zie o.a. onderstaand bericht).
Al is het altijd goed om daar op te letten, als het een intern systeem betreft (ik zie vaak een lokaal ip adres in je voorbeeld links staan) lijkt me dat minder belangrijk.

Hoe dan ook zou ik zorgen dat de basis werkt en van daaruit de beveiliging uitbreiden, dat bespaart (zeker met beperkte kennis) de mogelijkheid op extra fouten in het beginproces.
Dat klopt. Er is een reparatieoverzicht.php. Als ik daar op bewerk klik, krijg je inderdaad deze URL
http://127.0.0.1/reparati...reparatieid=547c97bfe3a2c

De gegevens in het linker formulier worden uitgelezen, de gegevens in het rechter formulier moeten worden verstuurd naar de database als ik op bijwerken druk. Inmiddels een stap verder door inderdaad de underscore te plaatsen, error is verdwenen.
Deze komen ervoor in de plaats: :P
Notice: Undefined index: materiaal in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 166

Notice: Undefined index: status in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 167

Notice: Undefined index: kosten in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 168

Notice: Undefined index: opmerking in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 169

[ Voor 14% gewijzigd door Daantju op 13-12-2014 16:30 ]


  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
CptChaos schreef op zaterdag 13 december 2014 @ 16:10:
Waarom heb je @ voor de $_POST variabelen staan? Het is niet dat een variabele iets fout kan doen, dus waarom foutmeldingen ermee onderdrukken? En hou - zeker met UPDATE queries - rekening met SQL-injection, waar je nu wel vatbaar voor bent.

Ook heb je in de linkerkolom (die read-only is?) een veld gereed staan. Als daar alleen read-only gegevens van de klant mogen staan, wat doet het gereed veld er dan? :) Het zou logischer zijn om er Start van te maken, als ik het zo zie. Je hebt immers dan start + tijd die ze bezig waren. :)
Ja mee eens, gereed is een klein beetje een rare naam, die dient ervoor dat de medewerker weet wanneer de klant de reparatie komt ophalen. Een soort verwachting dus

  • Full_hyperion
  • Registratie: Februari 2003
  • Laatst online: 10-11 12:49
Probeer eens met behulp van var_dump te kijken of al je variabelen nog wel de waarden hebben die je denkt dat ze zouden moeten hebben.

Ik zou beginnen met $reparatie_id (op verschillende plekken, bijvoorbeeld net nadat je hem aanmaakt, en net voor je de update query doet) en $_GET.

[ Voor 17% gewijzigd door Full_hyperion op 13-12-2014 16:30 ]


  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Inmiddels een stap verder door inderdaad de underscore te plaatsen, error is verdwenen doormiddel van deze code:

code:
1
 <form name="reparatieinfo" action="reparatiebewerk.php?reparatieid=<?php echo $reparatie_id ?>" method="post">


Deze komen ervoor in de plaats: :P lijkt dus ook in de SQL code te zitten..

Notice: Undefined index: materiaal in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 166

Notice: Undefined index: status in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 167

Notice: Undefined index: kosten in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 168

Notice: Undefined index: opmerking in /Applications/XAMPP/xamppfiles/htdocs/reparatiebewerk.php on line 169

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

CptChaos schreef op zaterdag 13 december 2014 @ 16:10:
En hou - zeker met UPDATE queries - rekening met SQL-injection,
Alle queries ! ook select dus

Iperf


  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Het ligt echt aan de update code die niet klopt, zie hieronder hij krijgt alle gegevens wel goed binnen:

Waarde $var_uren is gevuld met > 5< deze waarde
Waarde $var_materiaal is gevuld met > 213< deze waarde
Waarde $var_status is gevuld met > onderdelen< deze waarde
Waarde $var_kosten is gevuld met > 23< deze waarde
Waarde $var_opmerking is gevuld met > asd< deze waarde
Waarde $reparatieid is gevuld met > 547cac658912b< deze waarde

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$var_uren = $_POST['uren'];
$var_materiaal = $_POST['materiaal'];
$var_status = $_POST['status'];
$var_kosten = $_POST['kosten'];
$var_opmerking = $_POST['opmerking'];  

$update = "UPDATE reparatie SET uren = $var_uren, materiaal = $var_materiaal, status = $var_status, kosten = $var_kosten, opmerking = $var_opmerking WHERE reparatieid = $reparatie_id";

mysql_query($update);

// debug code
echo 'Waarde $var_uren is gevuld met > '. $var_uren .'< deze waarde<br />';
echo 'Waarde $var_materiaal is gevuld met > '. $var_materiaal .'< deze waarde<br />';
echo 'Waarde $var_status is gevuld met > '. $var_status .'< deze waarde<br />';
echo 'Waarde $var_kosten is gevuld met > '. $var_kosten .'< deze waarde<br />';
echo 'Waarde $var_opmerking is gevuld met > '. $var_opmerking .'< deze waarde<br />';
echo 'Waarde $reparatieid is gevuld met > '. $reparatie_id .'< deze waarde<br />';
echo '<br /><br /><br />';
// einde debug

  • Cartman!
  • Registratie: April 2000
  • Niet online
Negeer alle adviezen over escaping nu eens niet, je script is zo lek als een mandje. Beveilging is niet extra voor de lol maar is onderdeel van de basis.

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Beveiliging wil ik eigenlijk pas doen als het werkt.. Anders loopt er van alles door elkaar, en de basis zelf werkt nog niet nu..

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Beveiligen is heus zo moeilijk niet, om de POST-velden heen zet je namelijk mysql_real_escape(); en klaar.
Is nog niet 100%, maar in ieder geval iets. En met echo mysql_error() krijg je de error te zien vanuit MySQL. :)

[ Voor 18% gewijzigd door CH4OS op 13-12-2014 17:44 ]


  • Niet Henk
  • Registratie: Oktober 2010
  • Laatst online: 23-10 06:46
Als je wil weten of de query er goed uitziet, kan je gewoon even echo $update; doen, je query bekijken, en hem even los in PHPMyAdmin uitvoeren of hij gewenst resultaat geeft. Als je wilt dat we problemen met een query oplossen, wordt het makkelijker als we de query kunnen zien.

Zover ik zie doe je in ieder geval erg weinig controles naar de ingevulde informatie. Wat als iemand bepaalde waarden niet invult? En als iemand naar de pagina gaat, wordt er dan ook direct al een update query gemaakt met lege informatie en naar de MySQL server gestuurd, of staat ergens nog een if(!isset($_POST['submit'])){ die ik gemist heb?

Ik kan trouwens niet zien in de screenshot van je database of bepaalde variabelen NULL of NOT NULL zijn. Als ze NOT NULL zijn, dan kunnen ze problemen geven als er lege informatie uitkomt.

Daarnaast, m.b.t. escaping e.d., deze pagina kan vanzelfsprekend niet publiek toegankelijk worden.

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Yes, als ik hem echo, krijg ik dit:

UPDATE reparatie SET uren = 4, materiaal = 23, status = wachtklant, kosten = 23, opmerking = sdfsdfsdf WHERE reparatieid = 547c97d76f541

Dat invoeren in PHPmyAdmin geeft:

#1054 - Unknown column '547c97d76f541' in 'where clause'

Komt me bekend voor, de fout zou daar wel is in kunnen zitten..

  • X_lawl_X
  • Registratie: September 2009
  • Laatst online: 17:14
Probeer

WHERE reparatieid = 547c97d76f541

eens te vervangen door
WHERE reparatieid = '547c97d76f541'

Je ID is namelijk een string, geen integer.

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

nou ja hexadecimaal wel
edit: oh zo in de tabel .. ja idd

[ Voor 43% gewijzigd door Fish op 13-12-2014 18:20 ]

Iperf


  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Yes, ik had even in een vorig topic gekeken van mezelf, en toen zat ik met dezelfde error. Heb het dus zo gedaan:

code:
1
 WHERE reparatieid = '$reparatie_id' ";


Foutmelding is weg, maar krijg nu de volgende, wanneer ik deze query uitvoer via phpmyadmin:

SQL:
1
 UPDATE reparatie SET uren = 5, materiaal = KettingA, status = inbehandeling, kosten = 45, opmerking = Banden hebben weinig profiel WHERE reparatieid = '547c97d76f541' 


#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hebben weinig profiel WHERE reparatieid = '547c97d76f541'' at line 1

Het lijkt alsof er iets niet goed wordt afgesloten ofzo

  • Niet Henk
  • Registratie: Oktober 2010
  • Laatst online: 23-10 06:46
Nu heb je quotes toegevoegd bij 1 van de 4 strings uit je query. Doe dat ook eens bij de andere 3 (kan in PHPMyAdmin, hoeft niet direct in het PHP bestand).

  • Stroopwafels
  • Registratie: September 2009
  • Laatst online: 21:28
Opmerking is een string, geen integer. Daar moeten dus quotes omheen.
Sorry hoor ik wil niet als een asshole klinken maar dit zijn allemaal basis foutjes, ik zou eerst gewoon een basis boek PHP doornemen voordat je aan je eigen project gaat werken zonder verstand van de basics.

  • Daantju
  • Registratie: April 2014
  • Laatst online: 18-11 22:14
Problem solved! Ik heb om alle strings de quotes gezet, en nu werkt het eindelijk!! Dank voor alle hulp!!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:25

Creepy

Tactical Espionage Splatterer

Goed dat je probleem is opgelost naar je gebruikt het forum nu weer als persoonlijke helpdesk en dat is nu net niet de bedoeling. Door jezelf iets beter in de materie te verdiepen en zelf iets meer moeite te doen, had je dit best zelf ook kunnen oplossesn. Dit topic doe ik dan ook alsnog dicht.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.