text input en updaten/opvragen database
ik heb een probleem met mijn php script.
De bedoeling ervan:
- als de waarde uit de database leeg is, dan moet er een text input verschijnen.
- door middel van een text input de database kunnen updaten(updaten werkt).
- als de waarde uit de database niet leeg is, moet de string(de naam uit de database)worden afgebeeld.
Het lijkt alsof er iets misgaat bij het eerste if statement.
Misschien kan iemand mij helpen aan te wijzen wat ik verkeerd doe.
alvast bedankt.
de code:
Code (php)
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
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
<form method="post" action=" <?php echo($_SERVER["PHP_SELF"]); ?> " >
<?php
if(empty($resultxstring)) {
?>
<input type="text" name="leerling1" value="">
<?php
$connect = mysql_connect("localhost", "root", "usbw") OR DIE("Er kan geen verbing met de database gamaakt worden.");
mysql_select_db("test", $connect);
if(isset($_POST['inschrijven'])) {
$leerling1 = $_POST['leerling1'];
$query = "UPDATE inschrijfformulier SET leerling = '" . $leerling1 . "' WHERE nummer = 1 ";
}
?>
<input type="submit" value="Inschrijven" name="inschrijven">
<?php
}
else{
$query1 = "SELECT leerling FROM inschrijfformulier WHERE nummer = 1";
$resultx = mysql_query($query1);
$resultstring = mysql_fetch_assoc($resultx);
$resultxstring = $resultstring['leerling'];
echo "$resultxstring";
}
?>
</form>
<?php
if(empty($resultxstring)) {
?>
<input type="text" name="leerling1" value="">
<?php
$connect = mysql_connect("localhost", "root", "usbw") OR DIE("Er kan geen verbing met de database gamaakt worden.");
mysql_select_db("test", $connect);
if(isset($_POST['inschrijven'])) {
$leerling1 = $_POST['leerling1'];
$query = "UPDATE inschrijfformulier SET leerling = '" . $leerling1 . "' WHERE nummer = 1 ";
}
?>
<input type="submit" value="Inschrijven" name="inschrijven">
<?php
}
else{
$query1 = "SELECT leerling FROM inschrijfformulier WHERE nummer = 1";
$resultx = mysql_query($query1);
$resultstring = mysql_fetch_assoc($resultx);
$resultxstring = $resultstring['leerling'];
echo "$resultxstring";
}
?>
</form>
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 19/03/2013 17:44:18 door Martijn v B
Or die is geen (nette) foutafhandeling.
Je controleert niet of er een verbinding is met de database en of de query is gelukt.
Waar controleer je of $_POST['leerling'] bestaat? En dat de waarde voldoet aan wat je verwacht?
Geen variabelen kopiëren (regel 16). Daarnaast is je query lek/onveilig (mysql_real_escape_string).
Variabelen bij voorkeur buiten quotes.
Zet, indien nog niet aan staat, error-reporting aan.
Ten aanzien van je vraag/probleem:
script logisch: begin een pagina met php (controles, uitvoer van query's en daarna html.
Gewijzigd op 19/03/2013 18:27:02 door Obelix Idefix
De verbinding wordt wel degelijk gecontroleerd elders in mijn script en dat werkt.
ik ga mijn code proberen te herstructureren.
Daarnaast vertel je netjes in je bericht wat je wilt.
Maar die logica zien we niet terug in het script.
Ik heb nu dit stukje ervoor gezet.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$connect = mysql_connect("localhost", "root", "usbw") OR DIE("Er kan geen verbing met de database gamaakt worden.");
mysql_select_db("test", $connect);
$query1 = "SELECT leerling FROM inschrijfformulier WHERE nummer = 1";
$resultx = mysql_query($query1);
$resultstring = mysql_fetch_assoc($resultx);
$resultxstring = $resultstring['leerling'];
?>
$connect = mysql_connect("localhost", "root", "usbw") OR DIE("Er kan geen verbing met de database gamaakt worden.");
mysql_select_db("test", $connect);
$query1 = "SELECT leerling FROM inschrijfformulier WHERE nummer = 1";
$resultx = mysql_query($query1);
$resultstring = mysql_fetch_assoc($resultx);
$resultxstring = $resultstring['leerling'];
?>
en dit erna voor het resultaat.
Code (php)
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
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
<form method="post" action=" <?php echo($_SERVER["PHP_SELF"]); ?> " >
<?php
if(empty($resultxstring)) {
?>
<input type="text" name="leerling1" value="">
<?php
if(isset($_POST['inschrijven'])) {
$query = "UPDATE inschrijfformulier SET leerling = '" . $_POST['leerling1'] . "' WHERE nummer = 1 ";
}
?>
<input type="submit" value="Inschrijven" name="inschrijven">
<?php
}
else{
echo "$resultxstring";
}
?>
</form>
<?php
if(empty($resultxstring)) {
?>
<input type="text" name="leerling1" value="">
<?php
if(isset($_POST['inschrijven'])) {
$query = "UPDATE inschrijfformulier SET leerling = '" . $_POST['leerling1'] . "' WHERE nummer = 1 ";
}
?>
<input type="submit" value="Inschrijven" name="inschrijven">
<?php
}
else{
echo "$resultxstring";
}
?>
</form>
Het enige wat nog niet lukt, is het feit dat het resultaat niet gelijk wordt weergegeven. Ik denk dat de pagina, nadat ik op de submit knop druk, gerefresht moet worden.
Gewijzigd op 19/03/2013 19:23:04 door Martijn v B
Die raken binnenkort deprecated.
Probeer PDO ;)