Hulp nodig met $_POST

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Mar cel

Mar cel

21/11/2011 21:09:42
Quote Anchor link
@Wouter: zie mijn vorige post, de naam bestaat nu niet meer uit alleen letters.

Maar wat gaat er nu niet goed dan, krijg je een (mysql)error? Zoja; post m hier eens.
 
PHP hulp

PHP hulp

24/11/2024 06:17:16
 
Php knipper

php knipper

23/11/2011 15:27:04
Quote Anchor link
ik zou niet weten hoe ik de naam moet veranderen van dit topic

hij voert de sql niet uit ondanks het fijt dat ik wel iets aanvik. ik krijg geen error
 
- Ariën  -
Beheerder

- Ariën -

23/11/2011 15:31:19
Quote Anchor link
Heb je wel foutafhandeling?
 
Php knipper

php knipper

25/11/2011 17:07:31
Quote Anchor link
ja maar die geeft ook geen error dus de code word gewoon niet uitgevoerd
 
- Ariën  -
Beheerder

- Ariën -

25/11/2011 17:17:02
Quote Anchor link
Laat je relevante code eens zien?

Toevoeging op 25/11/2011 17:17:07:

Laat je relevante code eens zien?
 
Php knipper

php knipper

25/11/2011 18:21:10
Quote Anchor link
welke broncode

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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    while($controle = mysql_fetch_array($req)) {
        if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
            if ($_POST['actie'] == 'klaar') {
                $sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
                    if (!$sql) {
                        (
'SQL error: ' . mysql_error());
                    }
else {
                        $terug_tijd = date('d-m-o G:i:s');
                        $sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
                            if (!$sql1) {
                                 (
'SQL error: ' . mysql_error());
                            }
                    }
                }
            }
        }
    }

?>
 
- Ariën  -
Beheerder

- Ariën -

25/11/2011 18:28:04
Quote Anchor link
lijn 8 & 13, een echo mist.
 
Php knipper

php knipper

25/11/2011 18:41:09
Quote Anchor link
dat is bijgewerkt naar

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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    while($controle = mysql_fetch_array($req)) {
        if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
            if ($_POST['actie'] == 'klaar') {
                $sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
                    if (!$sql) {
                        echo 'SQL error: ' . mysql_error();
                    }
else {
                        $terug_tijd = date('d-m-o G:i:s');
                        $sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
                            if (!$sql1) {
                                 echo 'SQL error: ' . mysql_error();
                            }
                    }
                }
            }
        }
    }

?>


nog steeds niet's

Toevoeging op 25/11/2011 18:47:25:

ik krijg geen error dus de sql worden niet uitgevoerd
 
- SanThe -

- SanThe -

25/11/2011 18:54:57
Quote Anchor link
Php knipper op 25/11/2011 18:41:09:
ik krijg geen error dus de sql worden niet uitgevoerd


Daar heb je geen zicht op want dat controleer je nergens.
Kijk eens naar mysql_affected_rows()

Verder is de volgorde in je script zeer onlogisch.
Gewijzigd op 25/11/2011 19:02:21 door - SanThe -
 
Php knipper

php knipper

25/11/2011 19:23:37
Quote Anchor link
- SanThe - op 25/11/2011 18:54:57:
Php knipper op 25/11/2011 18:41:09:
ik krijg geen error dus de sql worden niet uitgevoerd


Daar heb je geen zicht op want dat controleer je nergens.
Kijk eens naar mysql_affected_rows()

Verder is de volgorde in je script zeer onlogisch.


wat is dan een beter opbouw en waarom ( probeer natuurlijk te verbeteren )
de sql voert niet's uit of geeft geen error dus normaal gezien wordt hij niet uitgevoerd.
 
- SanThe -

- SanThe -

25/11/2011 19:32:00
Quote Anchor link
Klein voorbeeldje van onlogica:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
while($controle = mysql_fetch_array($req))
{

    if(.......)
    {

        if ($_POST['actie'] == 'klaar')
        {
        ...
        }
    }
}

?>


Zal in deze while() $_POST['actie'] veranderen?
Antwoord: Nee.
Waarom ga je dan tijdens elke while-run daarop checken?
Dat doe je dus vóór de while().
 
Php knipper

php knipper

25/11/2011 19:50:16
Quote Anchor link
- controleren of post
kijken of id is aangevinkt
de actie die hij moet uitvoeren controleren ( is klaar dan verandert de status )
tijd toevoegen


( door de post actie kan ik meerdere acties laten ondernemen
 
- SanThe -

- SanThe -

25/11/2011 19:53:55
Quote Anchor link
Ja, maar als if ($_POST['actie'] == 'klaar') een false geeft dan doet de hele while-loop helemaal niks. Dus kan die if uit de loop en er voor staan.
 
Php knipper

php knipper

25/11/2011 20:09:11
Quote Anchor link
daar heb je gelijk in maar er komen nog meerdere acties bij ik hou het eerst simpel zodat ik weet dat het werkt

hoe komt het dat ik geen error heb
 
Obelix Idefix

Obelix Idefix

25/11/2011 21:30:19
Quote Anchor link
Php knipper op 25/11/2011 20:09:11:
daar heb je gelijk in maar er komen nog meerdere acties bij ik hou het eerst simpel zodat ik weet dat het werkt

hoe komt het dat ik geen error heb


De vraag is of je het simpel houdt en of je begrijpt hoe het werkt.
Wat jij nu doet in die while lus is een beetje vergelijkbaar met het volgende:
Ga naar de bakker en koop een brood. Bij de bakker controleer je of je geld bij je hebt. Nee, heb je niet. Terug naar huis. En dan weer ga naar de bakker, controleer daar of je geld bij je hebt.
Het is toch logischer om eerst te controleren of je geld hebt om een brood te kopen?

Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.
Gewijzigd op 25/11/2011 21:32:26 door Obelix Idefix
 
Php knipper

php knipper

02/12/2011 19:36:45
Quote Anchor link
Obelix en Idefix op 25/11/2011 21:30:19:
Php knipper op 25/11/2011 20:09:11:
daar heb je gelijk in maar er komen nog meerdere acties bij ik hou het eerst simpel zodat ik weet dat het werkt

hoe komt het dat ik geen error heb


De vraag is of je het simpel houdt en of je begrijpt hoe het werkt.
Wat jij nu doet in die while lus is een beetje vergelijkbaar met het volgende:
Ga naar de bakker en koop een brood. Bij de bakker controleer je of je geld bij je hebt. Nee, heb je niet. Terug naar huis. En dan weer ga naar de bakker, controleer daar of je geld bij je hebt.
Het is toch logischer om eerst te controleren of je geld hebt om een brood te kopen?

Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.


ik kijk toch of er gepost is ?
ik denk dat de fout zich bevind bij het form element

hier is de code
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167

<?php
<script language="javascript">  
function
SelectAll(){  
  count = document.form.elements.length;  
  for (i=0; i < count; i++) {  
if(document.form.elements[i].checked == 1) {  
  document.form.elements[i].checked = 0;  
}
  
else {  
  document.form.elements[i].checked = 1;  
  }  
}  
}
  
</script>

<a href="home.php?weergave=lening_toevoege&gebruiker_id=<?php echo $id_lener ?>"><img style="width: 298px; height: 54px;" alt="nieuwe lening toevoegen"
src="main/knoppen/nieuwe_lening_toevoegen%28wit%29.jpg"></a><a href="home.php?weergave=gebruiker_verwijderen&gebruiker_id=<?php echo $id_lener ?>"><img style="width: 256px; height: 55px;" alt="gebruiker verwijderen"
src="main/knoppen/gebruikers_verwijderen%28wit%29.jpg"></a><br>
<form name="form1" method="post" action="">
<table
style="text-align: left; width: 100%; background-color: white;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>ID</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>geleend object</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-coler: white; text-align: center;"><big><big><big>opmerking</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>geleend op</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><big><big>aantal</big></big></big><br>
</td>
<td
style="background-image: url(); background-repeat: repeat; background-color: white; text-align: center;"><big><center><a href="#SelectAll" OnClick="SelectAll()"><b>Select All</b></a></center></big><br>
</td>
</tr>
<?php
$ordering
= "id";
$req = mysql_query("select id, aantal, id_lener, geleend_voorwerp, terug, opmerking, status_lening, geleend_op FROM leningen WHERE geleend_bij = '".mysql_real_escape_string($id_ingelogd)."' and id_lener = '".mysql_real_escape_string($id_lener)."' ORDER BY id DESC");
while($dnn = mysql_fetch_array($req))
{

?>

<tr>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
  if($dnn['status_lening']=='2')
  {

  echo '<span style="text-decoration: line-through;">'.$dnn['id'].'</span><a>';
  }

  elseif($dnn['status_lening']=='1')
  {

  echo '<b>'.$dnn['id'].' </b><a>';
  }

  else
  {
  echo "Sorry, Er is een foutje verschenen.";
  }

?>
</a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
  if($dnn['status_lening']=='2')
  {

  echo '<span style="text-decoration: line-through;">'.$dnn['geleend_voorwerp'].'</span><a>';
  }

  elseif($dnn['status_lening']=='1')
  {

  echo '<b>'.$dnn['geleend_voorwerp'].' </b><a>';
  }

  else
  {
  echo "Sorry, Er is een foutje verschenen.";
  }

?>
</a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
  if($dnn['status_lening']=='2')
  {

  echo '<span style="text-decoration: line-through;">'.$dnn['opmerking'].'</span><a>';
  }

  elseif($dnn['status_lening']=='1')
  {

  echo '<b>'.$dnn['opmerking'].' </b><a>';
  }

  else
  {
  echo "Sorry, Er is een foutje verschenen.";
  }

?>
</a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
  if($dnn['status_lening']=='2')
  {

  echo '<span style="text-decoration: line-through;">'.$dnn['geleend_op'].'</span><br>terug op '.$dnn['terug'].'<a>';
  }

  elseif($dnn['status_lening']=='1')
  {

  echo '<b>'.$dnn['geleend_op'].' </b><a>';
  }

  else
  {
  echo "Sorry, Er is een foutje verschenen.";
  }

?>
</a><br>
</td>
<td class="left"><a href="home.php?weergave=lening&id=<?php echo $dnn['id'] ?>"><?php
  if($dnn['status_lening']=='2')
  {

  echo '<span style="text-decoration: line-through;">'.$dnn['aantal'].'';
  echo "stuk('s)";
  echo '</span><a>';
  }

  elseif($dnn['status_lening']=='1')
  {

  echo '<b>'.$dnn['aantal'].'';
  echo "stuk('s)";
  echo ' </b><a>';
  }

  else
  {
  echo "Sorry, Er is een foutje verschenen.";
  }

?>
</a><br>
</td>
<td class="left"><center><input name="row-<?php echo $dnn['id']; ?>" type="checkbox" id="checkbox[]" value="1"></center>
</td>
<?php
}
?>

</tr>
</tbody>
</table>
<p align="Right">actie:<select name="actie">
       <option value="---">---</option>
       <option value="klaar">klaar</option>
       <option value="verwijder">verwijder</option>
       <option value="onklaar">onklaar</option>
       </select><input value="opslaan" type="submit"></p>
       </form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    while($controle = mysql_fetch_array($req)) {
        echo $_POST['row-'.$controle['id']];
        if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
            if ($_POST['actie'] == 'klaar') {
                $sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
                    if (!$sql) {
                        echo 'SQL error: ' . mysql_error();
                    }
else {
                        $terug_tijd = date('d-m-o G:i:s');
                        $sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
                            if (!$sql1) {
                                 echo 'SQL error: ' . mysql_error();
                            }
                    }
                }
            }
        }
    }

?>


( sorry dat ik een groot stuk code geef maar dit heet enkel te maken met de code )
 
Obelix Idefix

Obelix Idefix

02/12/2011 21:49:51
Quote Anchor link
Php knipper op 02/12/2011 19:36:45:
ik denk dat de fout zich bevind bij het form element

Waarom denk je dat?
Obelix en Idefix op 25/11/2011 21:30:19:
Geen error: debug: gaat het script de while-lus wel in? Controleer of de variabelen wel bestaan/voldoen aan wat je verwacht.


Overigens is een logische(re) opbouw van een pagina is eerst php en dan html.
 

Pagina: « vorige 1 2



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.