[PHP & SQL] update probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een script waar mensen hun stem mogen uitbrengen. Door middel van drie drop down boxen kiezen ze drie nummers. Deze worden door een update query in een sql database gezet. Dit werkte prima, totdat ik een bevestigingsmail ging toevoegen. Ik wil eerst controleren of de mail is ingevuld, als dit zo is wil ik checken of dit adres niet eerder gebruikt is, is dit niet dan mag hij de update uitvoeren...

Wie kan me helpen, want onderstaand script voert alles netjes uit behalve de update

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
45
46
47
48
49
50
51
52
<?

                if (isset($_POST['bewerk'])){ 
    
    if($_POST['wedstrijd1'] == $_POST['wedstrijd2'] || $_POST['wedstrijd1'] == $_POST['wedstrijd3'] || $_POST['wedstrijd2'] == $_POST['wedstrijd3'] || $_POST['wedstrijd2'] == $_POST['wedstrijd1'] || $_POST['wedstrijd3'] == $_POST['wedstrijd1'] || $_POST['wedstrijd3'] == $_POST['wedstrijd2']){
        echo "<div class='warning'>Het is niet toegestaan om één foto twee keer te nomineren</div>";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=?p=wedstrijd2&actie=wedstrijd\">";
    }else if($_POST['ip_email'] == ""){
        echo "<div class='warning'>U moet uw email adres invullen</div>";
        echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=?p=wedstrijd2&actie=wedstrijd\">";
    }else if($_POST['ip_email'] != ""){
            $telgb = mysql_query("SELECT ip_email FROM admin_ip WHERE ip_email='".$_POST["ip_email"]."'") or die($error[1]);
            $numgb = mysql_num_rows($telgb);
            if($numgb == "1")
            {
                echo"<div class='warning' align='center'>U heeft voor deze wedstrijd uw stem al uitgebracht.</div>";
                echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=javascript:history.go(-1)\">";
            }}else{

            $query = "UPDATE admin_foto SET foto_score=foto_score+3 WHERE foto_id2=$wedstrijd_id AND foto_nr=".intval($_POST['wedstrijd1']); 
            $result = mysql_query($query) or die(mysql_error()); 
            if(mysql_affected_rows() > 0) { 
               echo "<div class='warning' align='center'>Uw stemmen zijn toegevoegd.</div>"; 
            } else { 
               echo "<div class='warning' align='center'>mislukt</div>"; 
            } 
    
            $query = "UPDATE admin_foto SET foto_score=foto_score+2 WHERE foto_id2=$wedstrijd_id AND foto_nr=".intval($_POST['wedstrijd2']); 
            $result = mysql_query($query) or die(mysql_error()); 
            if(mysql_affected_rows() > 0) { 
               echo "&nbsp;"; 
            } else { 
               echo "&nbsp;"; 
            }

            $query = "UPDATE admin_foto SET foto_score=foto_score+1 WHERE foto_id2=$wedstrijd_id AND foto_nr=".intval($_POST['wedstrijd3']); 
            $result = mysql_query($query) or die(mysql_error()); 
            if(mysql_affected_rows() > 0) { 
               echo "&nbsp;"; 
            } else { 
               echo "&nbsp;"; 
            }
        
            mysql_query("INSERT INTO admin_ip (ip_wedstrijd,ip_ip,ip_email) values ('$wedstrijd_id','".$_SERVER['REMOTE_ADDR']."','".$_POST["ip_email"]."')") or die(mysql_error());
                }}
        else { 
                     
            $queryselect = 'SELECT DISTINCT foto_nr, foto_score, foto_ip FROM admin_foto WHERE foto_id2 = $wedstrijd_id ORDER BY foto_nr ASC';    
            $row = mysql_query($queryselect); 
            $foto_score = $row[foto_score]; 

?>

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:23
Heb je zelf al eens gedebugged ? Heb je al enig idee hoe het komt dat 'het niet werkt' ?
Heb je je query al eens naar het scherm geprint, zodat je ziet wat er naar de DB gestuurd wordt, etc...

Nu is komt jouw post over als 'hier heb je m'n code, het werkt niet, pas het ff aan voor me', en zo werkt het hier natuurlijk niet. :)

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
wat doet het niet?

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 13:23

pietje63

RTFM

Volgens mij sluit je hem op regel 18 een if te veel af waardoor hij juist update als je geen e-mail adres invoert

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Volgens mij is de hele indenting gewoon naadje. :P

{signature}


Acties:
  • 0 Henk 'm!

Verwijderd

Ik gebruik altijd
Beautify PHP http://www.bierkandt.org/beautify/beautify_php.php
die m'n PHP sourcecode netjes indent e.d.

Acties:
  • 0 Henk 'm!

  • Wortelsoep
  • Registratie: Juni 2001
  • Niet online
Allemachtig, how about eerst eens je code schoonmaken? Wat wil je bv hier in hemelsnaam mee bereiken:

PHP:
30
31
32
33
34
 if(mysql_affected_rows() > 0) {  
               echo "&nbsp;";  
            } else {  
               echo "&nbsp;";  
            }

Acties:
  • 0 Henk 'm!

Verwijderd

Wilko schreef op vrijdag 16 maart 2007 @ 18:18:
Allemachtig, how about eerst eens je code schoonmaken? Wat wil je bv hier in hemelsnaam mee bereiken:

PHP:
30
31
32
33
34
 if(mysql_affected_rows() > 0) {  
               echo "&nbsp;";  
            } else {  
               echo "&nbsp;";  
            }
Lijkt erop dat het iets is wat nog ingevuld moet worden (1 keer gemaakt en copy/paste?)

Anders is het wel een beetje een wtf...

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 23-08 23:43
whoami schreef: Heb je zelf al eens gedebugged ?
Wat komt er dan uit $_SERVER['REMOTE_ADDR'] en $_POST["ip_email"]

En je kunt beter mysql_escape_string dan een $_POST direct in je sql opnemen.

Acties:
  • 0 Henk 'm!

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op vrijdag 16 maart 2007 @ 18:16:
Ik gebruik altijd
Beautify PHP http://www.bierkandt.org/beautify/beautify_php.php
die m'n PHP sourcecode netjes indent e.d.
Of je gebruikt een goede IDE of je leert het jezelf gewoon meteen goed aan.
Pagina: 1