gegevens slaan niet op in mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Rick

rick

18/03/2009 11:26:00
Quote Anchor link
Wanneer ik gegevens wijzig en op "Opslaan" druk krijg ik de melding dat de wijzigingen goed zijn doorgevoerd, maar er wordt niks gewijzigd en opgeslagen in de database. Ik denk zelf dat het aan het volgende stukje script ligt:
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
// opslaan
    if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){                
            if (isset($_POST[$i])){
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
                mysql_query("UPDATE gsm SET
                    `naam` = '".$_POST[$naam]."',        
                    `afdeling` = '".$_POST[$afdeling]."',
                    `nummer` = '".$_POST[$nummer]."',                    
                    `internnummer` = '".$_POST[$internnummer]."',
                    `inlog` = '".$_POST[$inlog]."',
                    WHERE `id` = $i
                ") or die (mysql_error());
            }
        }
        echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }
    
    // bewerken
    if (isset($_POST['update'])){
        $maxid = 0;



Deel van 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
<?php
//includes
include('config.php');

//session start
if(isset($_SESSION['id'])) {
}
else{
    header("Location: index.php?pagina=beheer");
}

    // verwijderen
    if (isset($_POST['verwijder'])){
        foreach($_POST['telid'] As $value ){
            mysql_query("DELETE FROM `gsm` WHERE `id` = $value") or die (mysql_error());
            }
    }

    
    // opslaan
    if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){                
            if (isset($_POST[$i])){
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
                mysql_query("UPDATE gsm SET
                    `naam` = '"
.$_POST[$naam]."',        
                    `afdeling` = '"
.$_POST[$afdeling]."',
                    `nummer` = '"
.$_POST[$nummer]."',                    
                    `internnummer` = '"
.$_POST[$internnummer]."',
                    `inlog` = '"
.$_POST[$inlog]."',
                    WHERE `id` = $i
                "
) or die (mysql_error());
            }
        }

        echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }

    
    // bewerken
    if (isset($_POST['update'])){
        $maxid = 0;
    ?>

        
    <form name="verzenden" action="" method="post">
    <h2>Bewerken</h2>
    
    <?php
        foreach($_POST['telid'] As $value ){
            echo "<input type='hidden' name='telid' value=$value />";
            
            // select
            $result2 = mysql_query("SELECT * FROM `gsm` WHERE id=$value");
            while($row2 = mysql_fetch_array( $result2 )) {
                    
                    echo "<b>".$row2['naam']."</b><br>";
                    echo "<table>";
                    echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";                    
                    echo "</tr><tr>";
                    echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";                    
                    echo "</tr></table>";
                    

                    
                    if ($id > $maxid){
                        $maxid = $id;
                    }
                }
        }

    echo "<input type='hidden' name='maxid' value='".$maxid."' />";
    ?>

    <br>
    <center>
  
    <input type='submit' name='opslaan' value='Opslaan' />
    </center>
    </form>
    <?php
    } else {
    
    echo "<h2>Gegevens bewerken</h2>";
    ?>
 
PHP hulp

PHP hulp

21/05/2024 04:49:53
 
Leon Kunst

Leon Kunst

18/03/2009 11:29:00
Quote Anchor link
Bestaat de regel wel in de database?

Probeer eens met die("stuk!") er achter te komen waar in het script hij vast loopt...

PS: haal die backticks (`) weg bij je kolomname... das overbodig, en staat lelijk...
 
Rick

rick

18/03/2009 11:45:00
Quote Anchor link
wat bedoel je met die("stuk!")?
Die backsticks heb ik weggehaald.
 
Jurgen assaasas

Jurgen assaasas

18/03/2009 12:21:00
Quote Anchor link
Boven aan het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
ini_set('display_errors' , 1);
error_reporting(E_ALL);

?>
 
Rick

rick

18/03/2009 12:24:00
Quote Anchor link
Krijg geen foutmeldingen te zien.
Hier heb je voor de duidelijkheid het totale script:
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
<?php
ini_set('display_errors' , 1);
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

//session start
if(isset($_SESSION['id'])) {
}
else{
    header("Location: index.php?pagina=beheer");
}

    // verwijderen
    if (isset($_POST['verwijder'])){
        foreach($_POST['telid'] As $value ){
            mysql_query("DELETE FROM gsm WHERE id = $value") or die (mysql_error());
            }
    }

    
    // opslaan
    if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){                
            if (isset($_POST[$i])){
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
                mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',        
                    afdeling = '"
.$_POST[$afdeling]."',
                    nummer = '"
.$_POST[$nummer]."',                    
                    internnummer = '"
.$_POST[$internnummer]."',
                    inlog = '"
.$_POST[$inlog]."',
                    WHERE id = $i"
)
                    or die (mysql_error());
            }
        }

        echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }

    
    // bewerken
    if (isset($_POST['update'])){
        $maxid = 0;
    ?>

        
    <form name="verzenden" action="" method="post">
    <h2>Bewerken</h2>
    
    <?php
        foreach($_POST['telid'] As $value ){
            echo "<input type='hidden' name='telid' value=$value />";
            
            // select
            $result2 = mysql_query("SELECT * FROM `gsm` WHERE id=$value");
            while($row2 = mysql_fetch_array( $result2 )) {
                    
                    echo "<b>".$row2['naam']."</b><br>";
                    echo "<table>";
                    echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";                    
                    echo "</tr><tr>";
                    echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
                    echo "</tr><tr>";
                    echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";                    
                    echo "</tr></table>";
                    

                    
                    if ($id > $maxid){
                        $maxid = $id;
                    }
                }
        }

    echo "<input type='hidden' name='maxid' value='".$maxid."' />";
    ?>

    <br>
    <center>
  
    <input type='submit' name='opslaan' value='Opslaan' />
    </center>
    </form>
    <?php
    } else {
    
    echo "<h2>Gegevens bewerken</h2>";
    ?>

    <!--Select script-->    
<SCRIPT TYPE="text/javascript">


function veranderscript() {
  if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
    else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
    else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}

</SCRIPT>

<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>

<!--Zoekfunctie-->    
    <form method="post" name="search-form" action="">
        <input type="text" name="zoek" value="" />
        <input type="submit" id="submit" value="zoeken" />
    </form>
    <br><br>
    
    <?php    
/* selectie lijst printen */
    if (isset($_POST['zoek'])){
        $zoekterm = $_POST['zoek'];
    }
else {
        $zoekterm = "";
    }

?>

<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk" name="update" />
<input type='submit' value="Verwijder" name="verwijder" /><br><br>
<table BORDER="0" ALIGN="left">
<tr align='left'>
    <td width="50">&nbsp;</td>
    <td width="180"><b>Naam</b></td>
    <td width="140"><b>Telefoonnummer</b></td>
    <td width="100"><b>Inlognaam</b></td>
    <td width="250"><b>Afdeling</b></td>
    <td width="180"><b>Intern verkort nummer</b></td>
</tr>
<?php
    $result2
= mysql_query("SELECT * FROM `gsm` WHERE `naam` LIKE '%$zoekterm%' ORDER BY `naam` ASC");
    while($row2 = mysql_fetch_array( $result2 )) {
            $id = $row2['id'];
            $result4 = mysql_query("SELECT * FROM gsm WHERE `id`=$id");
            while($row4 = mysql_fetch_array( $result4 )) {
                $naam = $row4['naam'];
            }

            echo "<tr align='left'>";
            echo "<td width='20'><input type='checkbox' value=".$row2['id']." name='telid[]' /></td>";
            echo "<td cwidth='180'>".$row2['naam']."</td>";
            echo "<td width='140'>".$row2['nummer']."</td>";
            echo "<td width='100'>".$row2['inlog']."</td>";
            echo "<td width='250'>".$row2['afdeling']."</td>";
            echo "<td width='20'>".$row2['internnummer']."</td>";
            echo "</tr>";
        }

        
    ?>

</table>
</form>
<?php
}
?>

<br><br>
 
Jurgen assaasas

Jurgen assaasas

18/03/2009 12:30:00
Quote Anchor link
Krijg je foutmeldingen?
 
Rick

rick

18/03/2009 12:32:00
Quote Anchor link
Jurgen schreef op 18.03.2009 12:30:
Krijg je foutmeldingen?

nee geen foutmeldingen te zien!
Alles werkt eigenlijk behalve echt het opslaan in de database. Hij "echoot" dat de gegevens goed worden opgeslagen, maar er gebeurd niks in de database zelf
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 12:38:00
Quote Anchor link
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
<?php
$query
=
mysql_query("UPDATE gsm SET naam = '".mysql_real_escape_string($_POST[$naam])."',        
afdeling = '"
.mysql_real_escape_string($_POST[$afdeling])."',
nummer = '"
.mysql_real_escape_string($_POST[$nummer])."',                    
internnummer = '"
.mysql_real_escape_string($_POST[$internnummer])."',
inlog = '"
.mysql_real_escape_string($_POST[$inlog])."'
WHERE id = '"
.mysql_real_escape_string($i)."'");
if (!$query) {
echo "Foutje in je query: ".mysql_error();
}

?>


Dit is al betere foutafhandeling.
Oh ja, er na inlog stond er een komma, en daarna komt geen veld meer.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Rick

rick

18/03/2009 12:43:00
Quote Anchor link
Bedankt voor die komma opmerking en foutafhandeling, alleen ik heb nog steeds hetzelfde probleem =(
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 12:47:00
Quote Anchor link
Je ziet geen foutmelding ofzo?
Kijk je wel in de juiste database ofzo?

probeer eens dit:

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
<?php
$sql
= "UPDATE gsm SET naam = '".$_POST[$naam]."',        
afdeling = '"
.$_POST[$afdeling]."',
nummer = '"
.$_POST[$nummer]."',                    
internnummer = '"
.$_POST[$internnummer]."',
inlog = '"
.$_POST[$inlog]."'
WHERE id = '"
.$i."'";

$query = mysql_query($sql);
if (!$query) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql;
}
else {
echo "SQL klopt: ".$sql;
?>

Zie dan geen foutmelding? En zo nee, welke query toont hij?
 
Jurgen assaasas

Jurgen assaasas

18/03/2009 12:48:00
Quote Anchor link
Zet de query eens in een aparte variabele en echo de query eens. Ook is het verstandig mysql_real_escape_string() te gebruiken.
 
Rick

rick

18/03/2009 12:54:00
Quote Anchor link
Aar schreef op 18.03.2009 12:47:
Je ziet geen foutmelding ofzo?
Kijk je wel in de juiste database ofzo?

probeer eens dit:

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
<?php
$sql
= "UPDATE gsm SET naam = '".$_POST[$naam]."',        
afdeling = '"
.$_POST[$afdeling]."',
nummer = '"
.$_POST[$nummer]."',                    
internnummer = '"
.$_POST[$internnummer]."',
inlog = '"
.$_POST[$inlog]."'
WHERE id = '"
.$i."'";

$query = mysql_query($sql);
if (!$query) {
echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$sql;
}
else {
echo "SQL klopt: ".$sql;
?>

Zie dan geen foutmelding? En zo nee, welke query toont hij?


Hij weergeeft geen van beide meldingen en ik zit wel in de goede database dat weet ik zeker.
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 12:56:00
Quote Anchor link
Ik vergat een } accolade aan het eind :P
En dan?
 
Rick

rick

18/03/2009 12:58:00
Quote Anchor link
Aar schreef op 18.03.2009 12:56:
Ik vergat een } accolade aan het eind :P
En dan?


Ja die had ik zelf al toegevoegd, maar dan wordt er nog niks weergeven.
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 12:59:00
Quote Anchor link
dan lijkt je script eerder dood te lopen voordat de query wordt gerund.

Zet eens op diverse plekken een echo neer, om te achterhalen waar het probleem zit?
 
Leon Kunst

Leon Kunst

18/03/2009 13:13:00
Quote Anchor link
@aar
Dat bedoel ik idd, echoén, net zolang tot je ergens op stukloopt.
 
Rick

rick

18/03/2009 13:39:00
Quote Anchor link
Ik heb het overal geprobeerd maar krijg overal goede melding.

Het valt me wel op dat ie overal zegt dat de query klopt behalve bij de query om op te slaan. Maar ook geeft ie geen error aan. Klopt de query dan niet of wat kan dit zijn?
Gewijzigd op 01/01/1970 01:00:00 door rick
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 13:52:00
Quote Anchor link
Of hij geeft de SQL string aan, OF hij toont een foutmelding met de SQL string.
Als dat niet zo is, dan loop je script ergens sdood VOORDAT de query wordt gedraaid.
Zet een boven je query een echo neer. Grote kans dat die ook niet wordt getoond.
 
Wesley Overdijk

wesley Overdijk

18/03/2009 13:56:00
Quote Anchor link
Maar als je de succes message krijgt...?

darbij valt me iets op.

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
<?
 if (isset($_POST['opslaan'])){
        for ($i = 0; $i <= $_POST['maxid'];$i++){                
            if (isset($_POST[$i])){
                $naam = $i."naam";
                $afdeling = $i."afdeling";
                $internnummer = $i."internnummer";
                $nummer = $i."nummer";
                $inlog = $i."inlog";
                mysql_query("UPDATE gsm SET naam = '".$_POST[$naam]."',        
                    afdeling = '"
.$_POST[$afdeling]."',
                    nummer = '"
.$_POST[$nummer]."',                    
                    internnummer = '"
.$_POST[$internnummer]."',
                    inlog = '"
.$_POST[$inlog]."',
                    WHERE id = $i"
)
                    or die (mysql_error());
            }
        }

         //echo "De gegevens zijn succesvol bijgewerkt.<br>";
    }
[
/code]

Zet onderstaande echo eens onder de query, want nu als er op submit is geklikt krijg je anywayz deze melding.
         //echo "De gegevens zijn succesvol bijgewerkt.<br>";
 
- Ariën  -
Beheerder

- Ariën -

18/03/2009 13:58:00
Quote Anchor link
Wesley, zie mijn post over foutafhandeling.
 
Rick

rick

18/03/2009 14:02:00
Quote Anchor link
Wanneer ik een echo""; achter if (isset($_POST[$i])){ zet wordt deze niet weergeven. Betekend dit ,dat hier de code doodloopt?
 

Pagina: 1 2 3 volgende »



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.