bij uitslag 0-0 wordt database niet geupdate
Ok dat lijkt me duidelijk dus, $after_thuis en $aftr_uit worden nooit gevuld met waardes uit het formulier. Waar staan deze variabelen voor (m.a.w. wat zou hier in moeten staan als alles wel werkt?)?
Dit gebeurd echter maar zelden, alleen na een strafzaak.
Deze functionaliteit werkt prima.
Je kunt naast een uitslag een van de teams aftrekpunten geven. Dit wordt in de database correct afgehandeld.
Het gaat alleen fout wanneer $dp_thuis èn $dp_uit beiden 0 zijn
Om te blijven bij wat je nu hebt kan je die empty()/!isset() vervangen door 'strlen($var) == 0' (of tijdelijk nog de empty() functie) want dat is wat je eigenlijk wilt weten. Wat krijg je voor query als je empty/strlen gebruikt bij de 0-0 score, waar het dus fout gaat?
Gewijzigd op 20/01/2012 18:06:43 door Jurgen B
maar als ik de empty laat staan en 1 wedstrijd probeer te updaten (uitslag 0-0), dan krijg ik op basis van onderstaande code terug: "Er zijn geen gegevens verwerkt"
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
39
40
41
42
43
44
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
foreach($fouten as $key => $wedstrijd){
echo"<li>$wedstrijd</li>" ;
}
echo "</ul> ";
echo"<br /> <input id=\"submitbutton\" type=\"button\" name=\"Terug\" value=\"Terug naar wedstrijden\" onClick=\"Javascript:history.go(-1);\" />";
}elseif(!empty($aantal_verwerkt) and ($aantal_verwerkt > 0)){
echo "<p>De gegevens zijn opgeslagen.</p>";
echo "<p>Er zijn $aantal_verwerkt wedstrijden verwerkt.</p>";
echo "<br /><br /><br />";
echo "<button id=\"submitbutton\" onclick=\"Javascript:location.href='uitslagen_verwerken.php';\" >Terug naar beginpagina</button>" ;
}else{
echo "Er zijn geen gegevens verwerkt";
echo "<br /><br /><br />";
echo "<button id=\"submitbutton\" onclick=\"Javascript:location.href='uitslagen_verwerken.php';\" >Terug naar beginpagina</button>" ;
} [/code]
[size=xsmall][i]Toevoeging op 20/01/2012 18:42:53:[/i][/size]
Voor de submit staat deze code.
Ik zie dat hier dingen uitgecommentarieerd staan. Zou ik die kunnen gebruiken om te debuggen?
[code]}elseif(isset($_POST['submit']) and $_POST['submit']=='opslaan'){
//print_r($_POST);
//Loop door alle 'geposte' wedstrijden
foreach($_POST['id'] as $key => $wed_id){
// echo "<p>".$wed_id."</p>";
$dp_thuis = $_POST['dp_thuis'][$key];
$dp_uit = $_POST['dp_uit'][$key];
// $aftr_thuis = abs($_POST['aftr_thuis'][$key]); abs maakt 0 van letters! niet gebruiken dus
// $aftr_uit = abs($_POST['aftr_uit'][$key]);
$aftr_thuis = $_POST['aftr_thuis'][$key];
$aftr_uit = $_POST['aftr_uit'][$key];
//toon($dp_thuis.','.$dp_uit.','.$aftr_thuis.','.$aftr_uit);
//Sla de wedstrijd over als geen van de vier velden is ingevuld, ga he anders behandelen
if(empty($dp_thuis) and empty($dp_uit) and empty($aftr_thuis) and empty($aftr_uit)){$aantal_overslaan =+1;} else{
//Controleer of zowel de doelpunten voor het thuis- als het uitspelende team zijn ingevuld
if (voldoet($dp_thuis , 'verplicht') and
voldoet($dp_uit , 'verplicht') and
voldoet($aftr_thuis, 'optioneel') and
voldoet($aftr_uit , 'optioneel') ){ [/code]
foreach($fouten as $key => $wedstrijd){
echo"<li>$wedstrijd</li>" ;
}
echo "</ul> ";
echo"<br /> <input id=\"submitbutton\" type=\"button\" name=\"Terug\" value=\"Terug naar wedstrijden\" onClick=\"Javascript:history.go(-1);\" />";
}elseif(!empty($aantal_verwerkt) and ($aantal_verwerkt > 0)){
echo "<p>De gegevens zijn opgeslagen.</p>";
echo "<p>Er zijn $aantal_verwerkt wedstrijden verwerkt.</p>";
echo "<br /><br /><br />";
echo "<button id=\"submitbutton\" onclick=\"Javascript:location.href='uitslagen_verwerken.php';\" >Terug naar beginpagina</button>" ;
}else{
echo "Er zijn geen gegevens verwerkt";
echo "<br /><br /><br />";
echo "<button id=\"submitbutton\" onclick=\"Javascript:location.href='uitslagen_verwerken.php';\" >Terug naar beginpagina</button>" ;
} [/code]
[size=xsmall][i]Toevoeging op 20/01/2012 18:42:53:[/i][/size]
Voor de submit staat deze code.
Ik zie dat hier dingen uitgecommentarieerd staan. Zou ik die kunnen gebruiken om te debuggen?
[code]}elseif(isset($_POST['submit']) and $_POST['submit']=='opslaan'){
//print_r($_POST);
//Loop door alle 'geposte' wedstrijden
foreach($_POST['id'] as $key => $wed_id){
// echo "<p>".$wed_id."</p>";
$dp_thuis = $_POST['dp_thuis'][$key];
$dp_uit = $_POST['dp_uit'][$key];
// $aftr_thuis = abs($_POST['aftr_thuis'][$key]); abs maakt 0 van letters! niet gebruiken dus
// $aftr_uit = abs($_POST['aftr_uit'][$key]);
$aftr_thuis = $_POST['aftr_thuis'][$key];
$aftr_uit = $_POST['aftr_uit'][$key];
//toon($dp_thuis.','.$dp_uit.','.$aftr_thuis.','.$aftr_uit);
//Sla de wedstrijd over als geen van de vier velden is ingevuld, ga he anders behandelen
if(empty($dp_thuis) and empty($dp_uit) and empty($aftr_thuis) and empty($aftr_uit)){$aantal_overslaan =+1;} else{
//Controleer of zowel de doelpunten voor het thuis- als het uitspelende team zijn ingevuld
if (voldoet($dp_thuis , 'verplicht') and
voldoet($dp_uit , 'verplicht') and
voldoet($aftr_thuis, 'optioneel') and
voldoet($aftr_uit , 'optioneel') ){ [/code]
Gewijzigd op 20/01/2012 18:43:48 door Folko Huizinga
Controleer gewoon op de ordinaire manier: http://nl3.php.net/manual/en/language.operators.comparison.php
zit je altijd goed
En je laat je waarschijlijk ook nog eens in de luren leggen door affected_rows....
Wil nog wel even kwijt dat ik niemand hier in de luren wil leggen en voor zover dat wel gebeurd is, dan komt het voort uit pure argeloosheid. Ook ben ik nergens te beroerd voor, alleen het ontbreekt me ten ene male aan kennis om dit probleem op te lossen. Ik weet niets van programmeren, ben slechts iemand die zijn voetbalcluppie door de tijd probeert te helpen door een website te onderhouden.
Degene die de database gemaakt heeft en de formulieren waarmee de uitslagen van de wedstrijden in de database geschreven kunnen worden, is helaas niet meer in staat te helpen dit probleem op te lossen.
Ik dacht, laat ik het aan de ervaren programmeurs voorleggen, die zijn waarschijnlijk is staat om zo te zien waar het fout gaat. Ik kom er nu achter dat dit wellicht een naieve gedachte is.
Iemand die voor een goede fles wil helpen dit op te lossen?
1. gij legt uwer probleem voor
2. daar komen reacties / mogelijke oplossingen uit
3. gij past toe - met enige kennis - wat er aan oplossingen geboden wordt
4. gij komt eventueel terug met specifiekere vragen, wel dan niet gerelateerd met relevante code
5. gij krijgt dan weer suggesties
enz.
En puntje bij paaltje heb je je eigen probleeem wel dan niet opgelost.
Wij gaan hier in feite niet uwer code aanpassen opdat gij het copied pastaat. Want dat zal eerder tot frustratie kunnen leiden dan er plezier van te beleven.
Aan een goede fles heb ik niets...
Okay Noppes... heldere reactie. Dankjewel
Zie PM.