abonnement Unibet Coolblue
pi_138565392
quote:
0s.gif Op zondag 6 april 2014 09:02 schreef slacker_nl het volgende:
@DrNick

Had je niet het idee, dat je heel veel hetzelfde aan het doen was?
[ code verwijderd ]

Je kan nu je query gaan opbouwen, hoe? Dat laat ik aan jou over, maar het is ongeveer hetzelfde. En tip: prepared statements.
Dat wel ja :P

Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch?
pi_138565842
quote:
1s.gif Op zondag 6 april 2014 12:37 schreef totalvamp het volgende:

[..]

Maar wat probeer je nou te doen dan? Ik snap niet waarom je die vergelijking wilt doen.
Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost.

Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a".
quote:
0s.gif Op zondag 6 april 2014 12:44 schreef Light het volgende:

[..]

Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig.
Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat.
[ code verwijderd ]

Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt. :)
  zondag 6 april 2014 @ 13:12:48 #253
187069 slacker_nl
Sicko pur sang
pi_138566173
Wat wil je dan, zeg het in code. Dat helpt vaak om dingen duidelijk te maken.
In theory there is no difference between theory and practice. In practice there is.
  zondag 6 april 2014 @ 13:14:04 #254
187069 slacker_nl
Sicko pur sang
pi_138566206
quote:
1s.gif Op zondag 6 april 2014 12:48 schreef DrNick het volgende:

[..]

Dat wel ja :P

Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch?
Ook. Ik vind ze icm named parameters erg fijn.
In theory there is no difference between theory and practice. In practice there is.
pi_138566227
quote:
1s.gif Op zondag 6 april 2014 13:02 schreef Robuustheid het volgende:

[..]

Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost.

Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a".

[..]

Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt. :)
Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit :O dat kan namelijk niet veel goed betekenen xD
pi_138567571
quote:
1s.gif Op zondag 6 april 2014 13:14 schreef totalvamp het volgende:

[..]

Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit :O dat kan namelijk niet veel goed betekenen xD
Nou voorruit, voor jou dan:

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht. :)
  FOK!mycroftheld zondag 6 april 2014 @ 14:14:06 #257
128465 verified  bondage
niet meer aanwezig op FOK!
pi_138568361
quote:
0s.gif Op zondag 6 april 2014 12:44 schreef Light het volgende:

[..]

Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig.
Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat.
[ code verwijderd ]

Is het in dit geval niet beter om het op onderstaande manier te doen?
1
2
3
4
5
6
<?php
$string 
'0';
if (empty(
$string) && $string != '') {
    echo 
'Leeg maar toch ook niet';
}
?>

Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is.
pi_138571888
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
<?php
/* Sessie starten */
session_start();

/* If/else afhandeling. Voorkomt fouten bij lege variabele */
if (isset($_SESSION['llnr'])) {
        
$llnr $_SESSION['llnr']; 
}    else {
//        $llnr = 220225;
        
echo "Leerlingnummer onbekend. Probeer opnieuw.";
        exit();
        }

if (isset(
$_SESSION['Vak00'])) {
        
$Vak00 $_SESSION['Vak00']; 
}    else {
        
$Vak00 null;
        }

if (isset(
$_SESSION['Vak01'])) {
        
$Vak01 $_SESSION['Vak01']; 
}    else {
        
$Vak01 null;
        }

#etcetera

/* Controleer verbinding */
$link mysqli_connect("localhost""root""usbw""profielkeuze");

if (
mysqli_connect_errno()) {
    
printf("Fout bij verbinden met de database: %s\n"mysqli_connect_error());
    exit();
    }
else 
    {
    echo 
"Je profielkeuze is doorgegeven. Je mag de pagina sluiten.";
    }

echo 
$llnr;
echo 
$Vak00;
echo 
$Vak01;
echo 
$Vak02;
echo 
$Vak03;
echo 
$Vak04;
echo 
$Vak05;
echo 
$Vak06;
echo 
$Vak07;
echo 
$Vak08;
echo 
$Vak09;
echo 
$Vak10;
echo 
$Vak11;
echo 
$Vak12;
echo 
$Vak13;
echo 
$Keuze1;
echo 
$Keuze2;
echo 
$Opmerkingen;

    
/* Query naar database */    
$query "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')";
mysqli_query($link$query);

/* TEST QUERY */
//$query2 = "INSERT INTO keuzes (llnr, Vak04) VALUES (224, 'Geschiedenis')";
//mysqli_query($link, $query2);

/* Sluit verbinding */
mysqli_close($link);

/* Sessie in de kliko */
//session_destroy();

?>
Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.

[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 15:39:03 ]
pi_138571898
quote:
11s.gif Op zondag 6 april 2014 14:14 schreef bondage het volgende:

[..]

Is het in dit geval niet beter om het op onderstaande manier te doen?
[ code verwijderd ]

Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is.
Da's ook nog een mogelijkheid :)
pi_138572539
quote:
0s.gif Op zondag 6 april 2014 15:26 schreef DrNick het volgende:

[ code verwijderd ]

Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.
Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld:

1
2
3
4
5
6
7
8
9
<?php
/* Query naar database */    
$query "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04, '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')";
mysqli_query($link$query);

if (
mysqli_errno($link)) {
    echo 
mysqli_error($link);
}
?>
pi_138572629
quote:
0s.gif Op zondag 6 april 2014 15:39 schreef Light het volgende:

[..]

Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld:
[ code verwijderd ]

Als ik die gebruik krijg ik geen error of iets dergelijks.

edit: Ah, nu wel. Duplicate entry. Eens zien.

[ Bericht 4% gewijzigd door #ANONIEM op 06-04-2014 15:43:32 ]
pi_138572775
Aw yeah, het werkt _O_

O+
pi_138574107
1
2
3
4
5
<tr>
    <td> <?php echo $_SESSION['Vak10']; ?> </td>
    <td> <input type="radio" name="Keuze1" value="<?php echo $_SESSION['Vak10']; ?>" / > </td>
    <td> <input type="radio" name="Keuze2" value="<?php echo $_SESSION['Vak10']; ?>" / > </td>
</tr>

Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen?
  FOK!mycroftheld zondag 6 april 2014 @ 16:17:38 #264
128465 verified  bondage
niet meer aanwezig op FOK!
pi_138574275
quote:
0s.gif Op zondag 6 april 2014 16:13 schreef DrNick het volgende:
Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen?
$_SESSION['Keuze1'] = $row['keuze1']
$_SESSION['Keuze2'] = $row['keuze2']
pi_138574377
quote:
11s.gif Op zondag 6 april 2014 16:17 schreef bondage het volgende:

[..]

$_SESSION['Keuze1'] = $row['keuze1']
$_SESSION['Keuze2'] = $row['keuze2']
Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding:

Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136
Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137

[ Bericht 5% gewijzigd door #ANONIEM op 06-04-2014 16:20:16 ]
pi_138574731
quote:
0s.gif Op zondag 6 april 2014 15:26 schreef DrNick het volgende:

[ code verwijderd ]

Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.
Ik neem aan dat je dan voorderest geen PHP meer gaat programmeren? Je script is zo lek als een mandje.
  FOK!mycroftheld zondag 6 april 2014 @ 16:28:23 #267
128465 verified  bondage
niet meer aanwezig op FOK!
pi_138574747
quote:
0s.gif Op zondag 6 april 2014 16:20 schreef DrNick het volgende:

[..]

Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding:

Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136
Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137
$row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc.

Als je mysqli gebruikt krijg je zoiets:

1
2
3
4
5
6
7
8
<?php
$query 
"SELECT keuze, waarde FROM tabel where...";
$result $mysqli->query($query);

while(
$row $result->fetch_array()) {
$_SESSION[$row['keuze']] = $row['waarde'];
}
?>
pi_138575005
quote:
11s.gif Op zondag 6 april 2014 16:28 schreef bondage het volgende:

[..]

$row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc.

Als je mysqli gebruikt krijg je zoiets:
[ code verwijderd ]

Die resultaten zaten nog niet in de database :P

Het werkt inmiddels :s)
pi_138575051
quote:
0s.gif Op zondag 6 april 2014 16:28 schreef totalvamp het volgende:

[..]

Ik neem aan dat je dan voorderest geen PHP meer gaat programmeren? Je script is zo lek als een mandje.
Hierna ben ik er voor de rest van mijn leven klaar mee :P _O-

Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog?

Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst. :P

[ Bericht 7% gewijzigd door #ANONIEM op 06-04-2014 16:35:49 ]
  FOK!mycroftheld zondag 6 april 2014 @ 16:36:18 #270
128465 verified  bondage
niet meer aanwezig op FOK!
pi_138575083
quote:
0s.gif Op zondag 6 april 2014 16:34 schreef DrNick het volgende:

[..]

Die resultaten zaten nog niet in de database :P

Het werkt inmiddels :s)
Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML.
pi_138575156
quote:
1s.gif Op zondag 6 april 2014 13:55 schreef Robuustheid het volgende:

[..]

Nou voorruit, voor jou dan:

Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht. :)
Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten.

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
<html>
<head><title>PHP Web Calc</title></head></html>
<body>
<?php
if(!isset($_POST["value1"]))
    
$_POST["value1"]=0;
if(!isset(
$_POST["value2"]))
    
$_POST["value2"]=0;

if(!
is_int($_POST['value1'])) {
    
$message="<font color=#FF0000>Value 1 must be a number</font><script>document.forms[0].value1.focus();</script>";
} else if(!
is_int($_POST['value2'])) {
    
$message="<font color=#FF0000>Value 2 must be a number</font><script>document.forms[0].value2.focus();</script>";
}  
    
if(isset(
$_POST["oper"]) && !isset($message)) {
    switch(
$_POST["oper"])
    {
        case 
"+":
            
$message=$_POST["value1"]+$_POST["value2"];
            break;
        case 
"-":
            
$message=$_POST["value1"]-$_POST["value2"];
            break;
        case 
"*":
            
$message=$_POST["value1"]*$_POST["value2"];
            break;
        case 
"/":
            if((int)
$_POST["value2"] === 0)
            {
                
$message="<font color=#FF0000>Division by 0 is impossible...</font><script>document.forms[0].value2.focus();</script>";
            }
            else
                
$message=$_POST["value1"]/$_POST["value2"];
            break;
        default:
            break;
    }
} else {
    
$message="Enter 2 numbers and press 1 operation button.";
}
?>
<form action="test.php" method="post">
<table border="0">
<tr><td>Value 1</td><td><input type="text" name="value1" value="<?php echo $_POST["value1"]; ?>"></td>
<td>Value 2</td><td><input type="text" name="value2" value="<?php echo $_POST["value2"]; ?>"></td></tr>
<tr><td align="center" colspan="4">
        <input type="submit" name="oper" value="+"/>
        <input type="submit" name="oper" value="-" />
        <input type="submit" name="oper" value="*"/>
        <input type="submit" name="oper" value="/" />
    </td></tr>
<tr><td colspan="4" align="right">$message</td></tr>
</table>
</form>
</body>

quote:
0s.gif Op zondag 6 april 2014 16:35 schreef DrNick het volgende:

[..]

_O-

Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog?

Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst. :P
Inderdaad prepared statements :)
Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd.

Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases).

Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk :)

[ Bericht 36% gewijzigd door #ANONIEM op 06-04-2014 16:47:02 ]
pi_138575299
quote:
14s.gif Op zondag 6 april 2014 16:36 schreef bondage het volgende:

[..]

Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML.
Zal ik ook eens naar kijken.
quote:
0s.gif Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:

Inderdaad prepared statements :)
Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd.

Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases).

Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk :)
Zal ik doen :)
pi_138588574
quote:
0s.gif Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:

[..]

Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten.
[ code verwijderd ]

Het is slim gevonden. En dat lijkt mij ook?

En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft.

En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij.
pi_138590324
quote:
1s.gif Op zondag 6 april 2014 21:30 schreef Robuustheid het volgende:

[..]

Het is slim gevonden. En dat lijkt mij ook?

En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft.

En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij.
Nee, het is gewoon een gecompliceerde manier om iets te doen wat stukken makkelijker kan. Wat mij meer van toepassing lijkt, is dat de programmeur van het script niet goed wist wat hij deed en zelf ook nog een beginner is.

Dat zie je mede hieraan:
1
2
3
4
5
6
7
8
9
<?php
//Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen.
echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>";

echo 
'<tr><td>Value 1</td><td><input type="text" name="value1" value="'.$_POST["value1"].'" /></td>';

//Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert.
$message=($_POST["value1"]+0)/($_POST["value2"]+0);
?>

HTML tags maak je zo op.
<p class="class" name="p">
niet zo
<p class=class name=p>

de HTML tag <font> wordt al tijden niet meer gebruikt.
  zondag 6 april 2014 @ 21:58:59 #275
84244 Scorpie
Abject en infaam!
pi_138590460
Sowieso een table echoën met input elementen en shit :')
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')