Muntjes geven script [HELP]

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Roy

Roy

11/02/2008 19:43:00
Quote Anchor link
heey ik ben met een script bezig alleen hij wil het niet echt doen laten we maar zeggen :P

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
<style type="text/css">
<!--
.style3 {font-family: Verdana; font-size: 10px; }
-->
</style>
<?php include('config.php'); ?>
<form name="form1" method="post" action="?p=pagina/bank">
  <table width="398" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="78">&nbsp;</td>
      <td width="276">&nbsp;</td>
    </tr>
    <tr>
      <td height="37"><span class="style3">Aan wie ? </span></td>
      <td><select name="naam" id="naam">
          <?php $sql = mysql_query("SELECT gebruikersnaam,member_id FROM leden ORDER BY gebruikersnaam ASC");
                        while($row = mysql_fetch_assoc($sql)) {
                            echo "<option value=\"".$row['member_id']."\">".$row['gebruikersnaam']."</option>";
                        }

                        ?>

            </select></td>
    </tr>
    <tr>
      <td><span class="style3">Hoeveel</span></td>
      <td>
        <input name="hoeveel" type="text" id="hoeveel">
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
        <input type="submit" name="Submit2" value="Verstuur muntjes !">
      </td>
    </tr>
  </table>
</form>

<?  
$query
= "SELECT gebruikersnaam FROM leden";
$result = mysql_query($query);
if($_POST['submit'])
{

mysql_query("UPDATE muntjes SET aantal=aantal+'".$_POST['hoeveel']."' WHERE from_id='".$_POST['member_id']."'");
mysql_query("UPDATE muntjes SET aantal=aantal-'".$_POST['hoeveel']."' WHERE from_id='".$_SESSION['ID']."'");
echo ("Je hebt zojuist <strong>'".$_POST['hoeveel']."'</strong> Muntjes op het account van <strong>'".$_POST['member_id']."'</strong> gestort !.");
}

?>


Wie kan me helpen
 
PHP hulp

PHP hulp

29/03/2024 01:34:25
 
Danny Roelofs

Danny Roelofs

11/02/2008 19:49:00
Quote Anchor link
Ja mooi, moet ik nu gaan analyseren wat die doet, en wat jij verwacht wat die moet doen, ik heb de glazen bol namelijk uitgeleend, dus het wordt wat lastig.

Wat gebeurt er niet, wat jij had verwacht?
 
Roy

Roy

11/02/2008 19:51:00
Quote Anchor link
nou ehhh :P

hij voegt de muntjes niet toe aan de database alles is wel goed ingestelt
 
Jesper Diovo

Jesper Diovo

11/02/2008 20:04:00
Quote Anchor link
Er hoeven geen aanhalingstekens om het aantal dat je erbij/-af doet.
Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_POST['submit'])
{

mysql_query("UPDATE muntjes SET aantal=aantal+".$_POST['hoeveel']." WHERE from_id='".$_POST['member_id']."'");
mysql_query("UPDATE muntjes SET aantal=aantal-".$_POST['hoeveel']." WHERE from_id='".$_SESSION['ID']."'");
}

?>

Ik zou overigens checken of de query überhaupt wel true teruggeeft, en bij false mysql_error() afvangen ;).

Edit: Wooooooo! Nu ik je script nog eens check; je controleert nergens of er überhaupt wel een form verzonden is?! $_POST['submit'] mag er dan wel zijn, maar dan? Dat is geen correcte manier van het controleren of er gesubmit is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
?>
is een goede manier.
Daarna hoor je nog te controleren of de verplichte velden zijn ingevuld/niet leeg zijn.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
Bo az

Bo az

11/02/2008 20:10:00
Quote Anchor link
Behalve dat je - zoals al gezegd- iets aan foutafhandeling van je mysql queries moet doen, moet je ook nodig een gebruik maken van mysql_real_escape_string in je queries!
 
- SanThe -

- SanThe -

11/02/2008 20:16:00
Quote Anchor link
Zet error_reporting eens aan en maak foutafhandeling bij de query's.
 
Roy

Roy

11/02/2008 20:20:00
Quote Anchor link
hij zegt dat DB368568.muntjes niet bestaat maar daar moet ie niet in zoeken
 
Jesper Diovo

Jesper Diovo

11/02/2008 20:22:00
Quote Anchor link
Dan zit er iets fout in je config.php...
 
Roy

Roy

12/02/2008 17:34:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
mysql_query("UPDATE muntjes SET aantal=aantal+".$_POST['hoeveel']." WHERE from_gebruikersnaam='".$_POST['gebruikersnaam']."'")or die(mysql_error());
mysql_query("UPDATE muntjes FROM leden SET aantal=aantal-".$_POST['hoeveel']." WHERE from_id='".$_SESSION['ID']."'")or die(mysql_error());


hij zegt dat omdat muntjes in de tabel leden staat maar als ik erbij zet FROM leden dan geeft hij weer een error
 
- SanThe -

- SanThe -

12/02/2008 17:37:00
Quote Anchor link
Een UPDATE heeft geen FROM. Zie de tutorials en de handleiding.

Edit: UPDATE tabelnaam SET veldnaam = '....' WHERE veldnaam = '....'
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Roy

Roy

12/02/2008 17:46:00
Quote Anchor link
maar hoe weer hij dan dat ie in de tabel leden moet zoeken hij moet de muntjes uit de tabel leden hebben
 
- SanThe -

- SanThe -

12/02/2008 17:49:00
Quote Anchor link
Is het niet gewoon dit?
UPDATE leden SET muntjes = muntjes + ...... WHERE ....
 
Roy

Roy

12/02/2008 17:57: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
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
<style type="text/css">
<!--
.style3 {font-family: Verdana; font-size: 10px; }
-->
</style>
<?php include('config.php'); ?>
<form name="form1" method="post" action="?p=pagina/bank">
  <table width="398" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="78">&nbsp;</td>
      <td width="276">&nbsp;</td>
    </tr>
    <tr>
      <td height="37"><span class="style3">Aan wie ? </span></td>
      <td><select name="naam" id="naam">
          <?php $sql = mysql_query("SELECT gebruikersnaam,member_id FROM leden ORDER BY gebruikersnaam ASC");
                        while($row = mysql_fetch_assoc($sql)) {
                            echo "<option value=\"".$row['member_id']."\">".$row['gebruikersnaam']."</option>";
                        }

                        ?>

            </select></td>
    </tr>
    <tr>
      <td><span class="style3">Hoeveel</span></td>
      <td>
        <input name="hoeveel" type="text" id="hoeveel">
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
        <input type="submit" name="Submit2" value="Verstuur muntjes !">
      </td>
    </tr>
  </table>
</form>

<?  
$query
= "SELECT muntjes FROM leden";
$result = mysql_query($query);
if($_SERVER['REQUEST_METHOD'] == "POST")
{

mysql_query("UPDATE leden SET muntjes=muntjes+".$_POST['hoeveel']." WHERE member_id='".$_POST['member_id']."'")or die(mysql_error());
mysql_query("UPDATE leden SET muntjes=muntjes-".$_POST['hoeveel']." WHERE member_id='".$_SESSION['ID']."'")or die(mysql_error());

echo ("Je hebt zojuist <strong>'".$_POST['hoeveel']."'</strong> Muntjes op het account van <strong>'".$_POST['gebruikersnaam']."'</strong> gestort !.");
}

?>


Hij wil het maar niet uitvoeren ik krijg nu in iedergeval geen error meer alleen de query word niet geupdate
 
- SanThe -

- SanThe -

12/02/2008 18:05:00
Quote Anchor link
Check of er wat is geupdate met mysql_affected_rows().
 
Roy

Roy

12/02/2008 18:13:00
Quote Anchor link
die mysql_affected_rows() die zegt niks

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
<?  
$query
= "SELECT muntjes FROM leden";
$result = mysql_query($query);
if($_SERVER['REQUEST_METHOD'] == "POST")
$aantal = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id = mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes = muntjes + ".$aantal." WHERE member_id='".$member_id."'");        

$aantal2 = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id2 = mysql_real_escape_string($_SESSION['ID']);
mysql_query("UPDATE leden SET muntjes= muntjes - ".$aantal2." WHERE member_id='".$member_id2."'");
echo ("Je hebt zojuist <strong>'".$_POST['hoeveel']."'</strong> Muntjes op het account van <strong>'".$_POST['naam']."'</strong> gestort !.");
mysql_affected_rows()

?>


deze doet het dus ook niet
Gewijzigd op 01/01/1970 01:00:00 door Roy
 
Martijn B

Martijn B

12/02/2008 18:22:00
Quote Anchor link
Quote:
die mysql_affected_rows() die zegt niks


Als jij programmeert dat ie niets moet zeggen dan klopt dit.

Ofwel je bent echo vergeten op regel 13.

edit:

Je kunt trouwens dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$member_id
= mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes = muntjes + ".$aantal." WHERE member_id='".$member_id."'");
?>


ook vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("UPDATE leden SET muntjes = muntjes + ".$aantal." WHERE member_id=" . (int)$_POST['member_id']);
?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Roy

Roy

12/02/2008 18:34:00
Quote Anchor link
maar hij wilt het maar niet uitvoeren
 
- SanThe -

- SanThe -

12/02/2008 18:39:00
Quote Anchor link
Zet dit direct na je update query's.
echo 'Er zijn ' . mysql_affected_rows() . ' records bijgewerkt.';
 
Roy

Roy

12/02/2008 18:46:00
Quote Anchor link
hij blijft op 0 staan
 
- SanThe -

- SanThe -

12/02/2008 18:50:00
Quote Anchor link
Dan zullen er geen records worden gevonden die aan de WHERE voldoen.
 
Roy

Roy

12/02/2008 18:54:00
Quote Anchor link
ok ik heb er nu 1 opgelost namelijk
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("UPDATE leden SET muntjes = muntjes +".$_POST[aantal]." WHERE member_id =".$_POST[naam]."");
?>


maar nu moeten ze er nog af van diegene de het stuurt en die doet het nou net weer niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("UPDATE leden SET muntjes = muntjes -".$_POST[aantal]." WHERE member_id =".$_SESSION[ID]."");
?>
 

Pagina: 1 2 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.