Fatal error na toepassen intval & mres

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Pagina: « vorige 1 2 3

Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/11/2012 19:33:17
Quote Anchor link
affected_rows moet zonder de haakjes.
Maar waarom heb je mijn advies niet gewoon opgevolgd, de fout was duidelijk: serial is een varchar en de waarde moet dus tussen ''
 
PHP hulp

PHP hulp

22/11/2024 15:29:05
 
Peter Overdam

Peter Overdam

17/11/2012 19:51:14
Quote Anchor link
@Ger
Ik had jou tweede antwoord niet gezien had denk ik eroverheen gelezen en zag hem nu pas dus jij zegt de () na affected_rows weghalen!

Als ik jou () weghaal en jou tweede antwoord van line 15 toepas dan krijg ik het volgende

Array
(
[page] => account-activeren
[id] => 90
[serial] => I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285
)
object(stdClass)#4 (2) {
["id"]=>
string(2) "90"
["serial"]=>
string(42) "I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285"
}
object(mysqli_result)#2 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(2)
["lengths"]=>
NULL
["num_rows"]=>
int(1)
["type"]=>
int(0)
}
Er ging is verkeerd tijdens het updata van de database, probeer het opnieuw
 
Bart V B

Bart V B

17/11/2012 20:01:50
Quote Anchor link
Lees Ger zijn comment nog eens na:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$check_result
= $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "'");
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 $sql
= "UPDATE companion SET active = 1 WHERE id = '".(int)$_GET['id']."'";
?>
Gewijzigd op 17/11/2012 20:04:54 door Bart V B
 
Peter Overdam

Peter Overdam

17/11/2012 20:12:32
Quote Anchor link
@Bart
Als jij op "" doelt dat heb ik al geprobeerd ik hoop meer eigenlijk dat me server in de fik vliegt.
Begin een beetje gefrusteerd te raken hier met al die ERRORS voor me neus.

Er is zoveel in het script veranderd en aangepast dat ik hem nauwelijks nog begrijp en weet echt niet waar ik zoeken moet voor een fout.
Gewijzigd op 17/11/2012 20:21:24 door Peter Overdam
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/11/2012 20:22:51
Quote Anchor link
Peter, ga terug naar het script van Marco (16:04) op de vorige pagina.
Vervang daarvan regel 15 door de code die Bart quote (de bovenste).

PS.
'Goed' bezig Marco
Gewijzigd op 17/11/2012 20:23:48 door Ger van Steenderen
 
Peter Overdam

Peter Overdam

17/11/2012 20:32:34
Quote Anchor link
@Ger & @ Marco.

Heb nu Marco's script van de vorige pagina weer teruggeplaatst heb line 15 vervangen door:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$check_result
= $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "'");
?>


En krijg daarna weer een foutmelding

Array
(
[page] => account-activeren
[id] => 90
[serial] => I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285
)
object(stdClass)#4 (2) {
["id"]=>
string(2) "90"
["serial"]=>
string(42) "I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285"
}
object(mysqli_result)#2 (5) {
["current_field"]=>
int(0)
["field_count"]=>
int(2)
["lengths"]=>
NULL
["num_rows"]=>
int(1)
["type"]=>
int(0)
}

Fatal error: Call to undefined method mysqli::affected_rows() in /var/www/vhosts/7/125190/webspace/httpdocs/mijndomein.nl/modules/account/activate-account.php on line 34
Gewijzigd op 17/11/2012 20:33:26 door Peter Overdam
 
Marco PHPJunky

Marco PHPJunky

17/11/2012 20:32:54
Quote Anchor link
Damm dat ga je niet menen heb ik daar overheen gekeken jo..

Thnx Ger.. (schaamte dat ik daar overheen kijk)

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
<?php

    // dit stukje weg halen of uit zetten als je hem online/'live' zet...
    echo '<pre>'.print_r($_GET, true).'<pre>';
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
 
 // Get the needed data
 if( isset($_GET['id']) && isset($_GET['serial']) ):

    if ( is_numeric($_GET['id']) && !is_null($_GET['id']) && (int)$_GET['id'] && !empty($_GET['id']) && !is_null($_GET['serial']) && !empty($_GET['serial']) && is_string($_GET['serial']) ):
            // contoleer de serial...
            $serial_data = $mysqli->real_escape_string($_GET['serial']);

            $check_result = $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "'");

            // echo '<pre>';
            // echo var_dump(check_result);
            // echo '</pre>';


            if( $check_result ):

                $sql = 'update companion set active = 1 where id = '.(int)$_GET['id'].' limit 1';
                $result = $mysqli->query($sql);

                if ( $mysqli->affected_rows == 1 ):
                
                    echo 'Uw account is geactiveerd';
                else: // else als er niks is bijgewerkt in de database...
                    echo 'Er ging is verkeerd tijdens het update van de database, probeer het opnieuw a.u.b';
                endif;

            else: // else als er iets verkeerds is met de activatie serial...
                 echo 'Verkeerde activatie gegevens, controleer de url in uw activatie mail.';
            endif;

    else: // else if het id en/of de serial zijn niet correct...
        echo 'Een van de mee gegeven data is incorrect, controlleer uw invoer!.';
    endif;

 else: // else als er geen id of serial gevonden word...
     echo 'Er is iets niet goed gegaan neem contact op met de webmaster';
 endif;


?>
Gewijzigd op 17/11/2012 21:16:23 door Marco PHPJunky
 
Peter Overdam

Peter Overdam

17/11/2012 20:36:06
Quote Anchor link
Marco PHPJunky op 17/11/2012 20:32:54:
Damm dat ga je niet menen heb ik daar overheen gekeken jo..

Thnx Ger.. (schaamte dat ik daar overheen kijk)

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
<?php
    // dit stukje weg halen of uit zetten als je hem online/'live' zet...
    echo '<pre>'.print_r($_GET, true).'<pre>';
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
 
 // Get the needed data
 if( isset($_GET['id']) && isset($_GET['serial']) ):

    if ( is_numeric($_GET['id']) && !is_null($_GET['id']) && (int)$_GET['id'] && !empty($_GET['id']) && !is_null($_GET['serial']) && !empty($_GET['serial']) && is_string($_GET['serial']) ):
            // contoleer de serial...
            $serial_data = $mysqli->real_escape_string($_GET['serial']);

                $check_result = $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "' limit 1");                if( $check_result ):

            // echo '<pre>';
            // echo var_dump(check_result);
            // echo '</pre>';


            if( $check_result ):

                $sql = "update companion set active = 1 where id = '".(int)$_GET['id']."' limit 1";
                $result = $mysqli->query($sql);

                if ( $mysqli->affected_rows == 1 ):
                
                    echo 'Uw account is geactiveerd';
                else: // else als er niks is bijgewerkt in de database...
                    echo 'Er ging is verkeerd tijdens het updata van de database, probeer het opnieuw a.u.b';
                endif;

            else: // else als er iets verkeerds is met de activatie serial...
                 echo 'Verkeerde activatie gegevens, controleer de url in uw activatie mail.';
            endif;

    else: // else if het id en/of de serial zijn niet correct...
        echo 'Een van de mee gegeven data is incorrect, controlleer uw invoer!.';
    endif;

 else: // else als er geen id of serial gevonden word...
     echo 'Er is iets niet goed gegaan neem contact op met de webmaster';
 endif;


?>


Hey Marco dit script hierboven bevat een fout dit geeft hij al aan in Dreamweaver en als ik hem toch upload en uitprobeer dan doet hij helemaal niks zelfs geen foutmelding.
 
Marco PHPJunky

Marco PHPJunky

17/11/2012 21:07:55
Quote Anchor link
is aangepast in het script hierboven...
 
Peter Overdam

Peter Overdam

17/11/2012 21:10:44
Quote Anchor link
@Marco
Krijg geen foutmelding meer, maar krijg wel de melding dat bij het updaten iets verkeerd is gegaan

Array
(
[page] => account-activeren
[id] => 90
[serial] => I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285
)
Er ging is verkeerd tijdens het updata van de database, probeer het opnieuw

Url is goed en de database gegevens kloppen ook.

Greetz
Peter
 
Marco PHPJunky

Marco PHPJunky

17/11/2012 21:19:09
Quote Anchor link
Hij zou zoals hij er nu staat goed moeten zijn (hij is ge-update!)
Of ik moet weer even snel ergens overheen kijken maar daar wil ik niet vanuit gaan :$
 
- SanThe -

- SanThe -

17/11/2012 21:27:58
Quote Anchor link
Volgens mij is de logica niet correct:

Er wordt gechecked of het id en de serial kloppen met de $_GET-waarden:
- $check_result = $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "' limit 1");

Als de query lukt:
- if( $check_result ):

Dan wordt active op 1 gezet:
- $sql = "update companion set active = 1 where id = '".(int)$_GET['id']."' limit 1";
- $result = $mysqli->query($sql);

Maar als een query lukt wil dat nog helemaal niet zeggen dat er ook iets is gevonden. Zoals het nu is wordt elk id in een $_GET, ongeacht de serial, op active = 1 gezet.
 
Peter Overdam

Peter Overdam

17/11/2012 21:33:27
Quote Anchor link
@Marco
Fout zat aan mijn kant jongens kennelijk was door een script eerder de active value op 1 gezet waardoor die dus de melding gaf:

Er ging is verkeerd tijdens het updata van de database, probeer het opnieuw

Maar nu geeft hij netjes het volgende aan

Array
(
[page] => account-activeren
[id] => 90
[serial] => I7GcDnFiHEMhJd043OAgBP6akpNClKmeoL9f1jb285
)
Uw account is geactiveerd

Marco mag ik jou heel hartelijk bedanken voor je inzet en dat op je vrije zaterdag. Ik ga dit script eens even goed bekijken met mijn PHP Boeken om wat bij te leren zodat ik het nieuwe gedeelte snap.

Greetz
Peter
 
- SanThe -

- SanThe -

17/11/2012 21:42:46
Quote Anchor link
@Peter: Probeer het nu nog eens met een nieuw account en dan met het juiste id en een onjuist serial. Volgens mij activeert ie dan ook.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/11/2012 21:47:33
Quote Anchor link
Zit wel iets in ja, volgens mij is het gewoon het simpelste om dit doen:
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
<?php
$sql
= "UPDATE companions SET active = 1
    WHERE id = "
. (int) $_GET['id'] . "
    AND serial = '"
. $mysqli->real_escape_string($_GET['serial']) . "
    AND active <> 1"
;
$result = $mysqli->query($sql)
if ($result) {
    if ($mysqli->affected_rows === 1) {
        echo 'Je account is geactiveerd';
    }

    else {
        echo 'Je hebt je acoount reeds geactiveerd of een onjuiste waarde opgegeven';
    }
}

else {
    echo 'We hebben vandaag geen zin in nieuwe leden, probeer het morgen nog maar eens';
}
Gewijzigd op 17/11/2012 21:48:24 door Ger van Steenderen
 
Peter Overdam

Peter Overdam

17/11/2012 21:48:34
Quote Anchor link
@SanThe
Je hebt gelijk nieuw account aangemaakt id 92 en serial opgegeven van oud account en hij zet active op 1.

@Ger
Ik wacht even op antwoord van Marco aangezien hij veel tijd erin heeft gestoken in ieder geval bedankt voor de hulp.

Greetz
Peter
Gewijzigd op 17/11/2012 21:53:52 door Peter Overdam
 
Marco PHPJunky

Marco PHPJunky

17/11/2012 22:09:36
Quote Anchor link
weer 1tje...

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
<?php

    // dit stukje weg halen of uit zetten als je hem online/'live' zet...
    echo '<pre>'.print_r($_GET, true).'<pre>';
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
 
 // Get the needed data
 if( isset($_GET['id']) && isset($_GET['serial']) ):

    if ( is_numeric($_GET['id']) && !is_null($_GET['id']) && (int)$_GET['id'] && !empty($_GET['id']) && !is_null($_GET['serial']) && !empty($_GET['serial']) && is_string($_GET['serial']) ):
            // contoleer de serial...
            $serial_data = $mysqli->real_escape_string($_GET['serial']);

            $check_result = $mysqli->query("select id, serial from companion where id = ". intval($_GET['id']) . " and serial = '".$serial_data. "'");

            if( $check_result ):

                $sql = "update companion set active = 1 where id = ".(int)$_GET['id']." and active <> 1 and serial = '" . $serial_data . "' limit 1";
                $result = $mysqli->query($sql);
                if ( $result ):
                    if ( $mysqli->affected_rows === 1 ):
                    
                        echo 'Uw account is geactiveerd';
                    else: // Al actief of klopt niet...
                        echo 'Uw account is al geactiveerd of uw gegevens kloppen niet.<br /> mocht dit probleem zich blijven voordoen neem dan contact op met de webmaster.';
                    endif;

                else: // ging wat fout
                    echo 'Verkeerde activatie gegevens, controleer de url in uw activatie mail.<br /> mocht dit probleem zich blijven voordoen neem dan contact op met de webmaster.';
                endif;

            else: // else als er iets verkeerds is met de activatie serial...
                 echo 'Verkeerde activatie gegevens, controleer de url in uw activatie mail.';
            endif;

    else: // else if het id en/of de serial zijn niet correct...
        echo 'Een van de mee gegeven data is incorrect, controlleer uw invoer!.';
    endif;

 else: // else als er geen id of serial gevonden word...
     echo 'Er is iets niet goed gegaan neem contact op met de webmaster';
 endif;


?>
Gewijzigd op 17/11/2012 22:10:48 door Marco PHPJunky
 
Peter Overdam

Peter Overdam

17/11/2012 22:34:10
Quote Anchor link
@Marco
Na uitgebreid testen met verschillende mogelijkheden en opties werkt hij nu helemaal correct. Mag ik jou wederom heel erg bedanken.
 
Marco PHPJunky

Marco PHPJunky

17/11/2012 22:52:11
Quote Anchor link
Afgezien van dat ik today over een X aantal zaken heen heb gekeken tuurlijk mag dat...

Vergeet je niet de array bovenaan uit te zetten want ik zie dat hij nog aanstaat bij je :P
En de tekst loopt nog een beetje achter de kolom aan de rechterkant.
 
Peter Overdam

Peter Overdam

17/11/2012 22:57:28
Quote Anchor link
@Marco
Dat.moet ik inderdaad nog ff uitzetten ga dat ff straks doen en het klopt dat die tekst erachter loopt daar marge moet ik nog een beetje aanpassen maar dat komt goed.

Nogmaals heel erg bedankt
 

Pagina: « vorige 1 2 3



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.