waarde na post ophogen met 1

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: 1 2 volgende »

Bert Kouwenberg

Bert Kouwenberg

14/09/2010 19:41:56
Quote Anchor link
Ik heb dit scriptje, maar hij blijft waarde 4 weergeven.
Hoe kan ik het aanpakken dat a met iedere post 1 opgehoogd wordt?




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
<?
$a
= 4;

if($_POST['submitform']) {

$a = $a = 1;

echo $a;
  
}

else {}


?>

<form name="contactform" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $PHP_SELF; ?>
" method="post">
<input type="submit" value="ga!" name="submitform">
Gewijzigd op 14/09/2010 19:42:24 door Bert Kouwenberg
 
PHP hulp

PHP hulp

21/11/2024 16:16:30
 
Vincent Huisman

Vincent Huisman

14/09/2010 19:44:44
Quote Anchor link
en waar moet $a = $a = 1; op slaan, doe gewoon $a++;
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 19:46:35
Quote Anchor link
$a = $a = 1 moet zijn $a = $a + 1; klopt maar daar ligt het niet aan, ik ga jouw oplossing ff proberen.
 
Vincent Huisman

Vincent Huisman

14/09/2010 19:47:30
Quote Anchor link
je zou ook nog $a+=2 kunnen doe ofzo, voor als je het met meer wil verhogen
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 19:48:02
Quote Anchor link
Helaas, hij telt er 1 keer 1 bij op, maar daarna niet meer. Mogelijk omdat hij weer de waarde krijgt van a aan het begin van het script. Maar hoe los ik dat op?
 
Vincent Huisman

Vincent Huisman

14/09/2010 19:50:37
Quote Anchor link
heb je 2 aparte pagina's? zoja, dan is dat het probleem
 
Mark L

Mark L

14/09/2010 19:51:43
Quote Anchor link
Bij het (her)laden van je pagina zijn geen variabelen gezet. Variabelen worden dus niet opgeslagen en later herbruikt. Deze zul je dus in een database moeten opslaan of in een global-variabele meegeven (GET, POST, COOKIE of SESSION lijken mij de meest voor de hand liggende..)
Verder zou je het in het uiterste geval ook in een .txt-file kunnen opslaan, maar dat raad ik je niet aan.
 
Vincent Huisman

Vincent Huisman

14/09/2010 19:53:02
Quote Anchor link
@mark L,

hij kan ook zn formulier in de else zetten en het is ook klaar
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 19:58:12
Quote Anchor link
Voor de duidelijkheid, het moet mogelijk zijn om meerdere malen op post te drukken, dus vincents voorstel gaat niet op. Ook liever geen db of txt.
Er zou dus iets moeten komen die een waarde 1 keer meegeeft zolang je op de pagina blijft en dan niet meer te zien is of zo.
 
Mark L

Mark L

14/09/2010 19:59:49
Quote Anchor link
@Vincent
Wat heeft het verhogen van de variabele $a met het plaatsen van een formulier in een else-clausule te maken? In zijn formulier kan hij uiteraard wel de waarde van $a meegeven (denk aan een hidden-input). Dit is echter wel te wijzigen op deze manier.
 
Vincent Huisman

Vincent Huisman

14/09/2010 20:00:38
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
<?php
    $a
=2;
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

        $a++;
        echo $a;
        // Hier je formulier    
    }
    else
    {
        // en hier je fumulier
    }
?>
Gewijzigd op 14/09/2010 20:01:02 door Vincent Huisman
 
Mark L

Mark L

14/09/2010 20:05:53
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
<?php
    $a
=2;
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

        $a++;
        echo $a; // Dit is altijd 3. Bij elke pagina word $a = 2 gezet. Later word $a++ gedaan, wat 3 maakt.
        // Hier je formulier    

    }
    else
    {
        // en hier je fumulier
    }
?>
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 20:09:34
Quote Anchor link
Wat mark zegt in het laatste script ervaar ik ook zo. a wordt altijd 3....
En dat moet ik nou juist voorkomen..
Gewijzigd op 14/09/2010 20:14:22 door Bert Kouwenberg
 
Mark L

Mark L

14/09/2010 20:15:03
Quote Anchor link
Mark L op 14/09/2010 19:51:43:
Bij het (her)laden van je pagina zijn geen variabelen gezet. Variabelen worden dus niet opgeslagen en later herbruikt. Deze zul je dus in een database moeten opslaan of in een global-variabele meegeven (GET, POST, COOKIE of SESSION lijken mij de meest voor de hand liggende..)
Verder zou je het in het uiterste geval ook in een .txt-file kunnen opslaan, maar dat raad ik je niet aan.


Ik wil je nogmaals op deze reactie wijzen. Variabelen worden alleen binnen het uitvoeren van een script bewaard. Als een script is uitgevoerd, dan worden alle waarden 'vernietigd' en moeten ze opnieuw gezet worden. Waarden die onthouden moeten worden, moeten daarom worden opgeslagen.
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 20:19:37
Quote Anchor link
En dit is de enige manier om dit te fixen dus?

Als dat zo is, dan zo simpel mogelijk.
Waarom raadt je een txt file niet aan? lekker simpel en het gaat alleen maar om het eenmalig uithalen van een waarde?
 
Vincent Huisman

Vincent Huisman

14/09/2010 20:20:48
Quote Anchor link
omdat het niet simpel is en iedereen een txt'tje kan bekijken
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 20:24:57
Quote Anchor link
ok, duidelijk. Ik heb net ergens een tip gelezen om een apart php bestand aan te maken met de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$a
= 2;
?>

En deze dan te includen. Zou dat werken?

Toevoeging op 14/09/2010 20:28:23:

Nee, werkt ook niet zie ik al, effect is hetzelfde.
 
Mark L

Mark L

14/09/2010 20:36:27
Quote Anchor link
Dit zou werken, als je dit PHP-bestandje dan telkens zou bewerken. Dit betekend dat je de 2 zou moeten vervangen door een ander getal. Dit is eigenlijk precies hetzelfde idee als een .txt-file, op het fijt na dat dit niet gelezen hoeft te worden als bestand en door derden ook niet als bestand gelezen kan worden.

Daarbij komt dat PHP meerdere scripts te gelijk uitvoert. Dit betekend dat als je het script hebt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include('a_save.php'); // $a = 5; (zojuist gezet in a_save.php).
$newFile = '<?php'.PHP_EOL.'$a = '.($a+1).';'.PHP_EOL.'?>'; // PHP_EOL is een enter
?>


Als PHP door meerdere gebruikers tegelijk opgevraagd word, zorgt hij er niet voor dat hij eerst één script afmaakt en dan de volgende, maar hij werkt tegelijk. In bovenstaande code bedoel ik even met de variabele $newFile dat deze waarde naar het bestand a_save.php gezet word.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
include('a_save.php'); # Gebruiker 1. $a = 5;
include('a_save.php'); # Gebruiker 2. $a = 5;
$newFile = '<?php'.PHP_EOL.'$a = '.($a+1).';'.PHP_EOL.'?>'; # Gebruiker 1. $a = 6
$newFile = '<?php'.PHP_EOL.'$a = '.($a+1).';'.PHP_EOL.'?>'; # Gebruiker 2. $a = 6
?>


$a zou nu 7 moeten zijn, maar deze is nog steeds 6. Ik hoop dat je begrijpt wat ik bedoel.
Een database handelt alles stuk voor stuk af...
Gewijzigd op 14/09/2010 20:38:01 door Mark L
 
Bert Kouwenberg

Bert Kouwenberg

14/09/2010 21:31:38
Quote Anchor link
Wat ik ook doe, het werkt 1 x na post en daarna niet meer.....
 
Mark L

Mark L

14/09/2010 22:36:47
Quote Anchor link
Je slaat je waarde ook nergens op.
De $newFile - zoals ik het heb neergezet - is een variabele en word dus ook verwijderd. Maar de waarde van deze variabele zou je in de file a_save.php kunnen zetten.

Mag ik vragen waarvoor je het wilt gebruiken?

Hier een simpel voorbeeld van wat je met een database zou kunnen doen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    // Ophalen van $a
    $query = mysql_query("SELECT a FROM count WHERE what = 'formulier'");
    $result = mysql_fetch_assoc($query);
    $a = $result['a']; // zinloze stap, maar wel verduidelijkend in dit voorbeeld.

    // Bewerken van $a

    mysql_query("UPDATE count SET a = (a+1) WHERE what = 'formulier'");
?>


Je kunt ook alle velden van je formulier in de database opslaan. Als je dan alle rijen optelt d.m.v. COUNT(*) AS a dan krijg je ook het goede getal.
 
Niek s

niek s

14/09/2010 23:42:12
Quote Anchor link
Maak een session aan, en dump het getal daar in.
 

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.