mboost-dp1
Hjælp med plus og minus i php?
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hejsa :) Jeg har vil gerne vide hvordan jeg bruger plus og minus i php kan ikke helt få det til og virke??
Lad os sige jeg har en fil der hedder: noget.php og inde i den står der: 1 så går jeg ind på noget2.php og klikker en knap så åbner den noget.php tager 1 og ligger 1 til og lukker noget.php (selv uden man kan se det) så står der 2 inde i noget.php osv... Ved godt hvordan jeg åbner den og skriver noget nyt i den men ved ikke hvordan jeg tager 1 inde i den og ligger 1 mere til/trækker 1 fra??
Nogen der kan hjælpe ?
Lad os sige jeg har en fil der hedder: noget.php og inde i den står der: 1 så går jeg ind på noget2.php og klikker en knap så åbner den noget.php tager 1 og ligger 1 til og lukker noget.php (selv uden man kan se det) så står der 2 inde i noget.php osv... Ved godt hvordan jeg åbner den og skriver noget nyt i den men ved ikke hvordan jeg tager 1 inde i den og ligger 1 mere til/trækker 1 fra??
Nogen der kan hjælpe ?
Øh, vil du ændre indholdet i selve filen?
Er det en fil som ikke indeholder andet end et tal?
I så fald er det ikke en PHP, den indeholder jo ikke PHP. Så vil det være god skik at kalde den noget andet.
Men du kan nok gøre det sådan her:
Der er ingen form for fejlhåndtering, og hvis to gør det på samme tid vil kun den ene blive talt med. I værste fald kan jeg forestille mig at tælleren bliver nulstillet.
Er det en fil som ikke indeholder andet end et tal?
I så fald er det ikke en PHP, den indeholder jo ikke PHP. Så vil det være god skik at kalde den noget andet.
Men du kan nok gøre det sådan her:
$taeller = (int)file_get_contents("taeller.dat");
$taeller++;
file_put_contents("taeller.dat");
Der er ingen form for fejlhåndtering, og hvis to gør det på samme tid vil kun den ene blive talt med. I værste fald kan jeg forestille mig at tælleren bliver nulstillet.
Ja ups mente noget.txt det en txt fil og ja der står kun et tal inde i den men har prøvet det der $noget++; men det vil ikke helt virke
Altså jeg har ændret det du sendte til det her:
Men det vil ikke helt virke ?
Den kommer med denne error
if($_POST["submit"])
{
$taeller = (int)file_get_contents($myFile);
$taeller++;
file_put_contents($myFile);
}
Men det vil ikke helt virke ?
Den kommer med denne error
Warning: file_put_contents() expects at least 2 parameters, 1 given
Svært og forklare men altså inde på den der side kan man klikke på op og på ned også nede under står der en fordi det står der jo inde i noget filen men når jeg så klikker op så skriver den bare en to steder istedet for og ændre 1 til 2 og inde i noget filen er den stadig 1
sådan her ser mit script ud:
<form method="POST">
<input type="submit" name="submit" value="En op !">
<input type="submit" name="submit2" value="En ned !">
</form>
<?php
$myFile = "ids.txt";
$total = include "$myFile";
if($_POST["submit"])
{
$taeller = (int)file_get_contents($myFile);
$taeller++;
file_put_contents($myFile, $taeller);
}
if($_POST["submit2"])
{
$taeller = (int)file_get_contents($myFile);
$taeller--;
file_put_contents($myFile, $taeller);
}
echo $total;
?>
altså 1 + 1 giver ikke 11 den skriver bare 1 to steder ikke ved siden af hinanden og hvis jeg trykker på ned så giver den bare en og hvis jeg trykker op også ned så giver den minus 1 og den kan ikke komme længere ned end minus 1/ højere op end 1
"include" gør ikke du tror den gør. I dette tilfælde udskriver den indholdet af filen til browseren.
Det betyder også at $total ikke indeholder det du tror den gør, så der bliver også udskrevet noget sjovt.
Og endelig: Selv hvis include virkede som du troede, så indlæser du den før du er færdig med at lave beregninger, så det er en gammel værdi du viser.
Noget af dette ville du har fået hints om, hvis du havde prøvet det jeg skrev i #7!!
Prøv dette:
Det betyder også at $total ikke indeholder det du tror den gør, så der bliver også udskrevet noget sjovt.
Og endelig: Selv hvis include virkede som du troede, så indlæser du den før du er færdig med at lave beregninger, så det er en gammel værdi du viser.
Noget af dette ville du har fået hints om, hvis du havde prøvet det jeg skrev i #7!!
Prøv dette:
<form method="POST">
<input type="submit" name="submit" value="En op !">
<input type="submit" name="submit2" value="En ned !">
</form>
<?php
$myFile = "ids.txt";
$total = (int)file_get_contents($myFile);
if($_POST["submit"]) {
$total++;
file_put_contents($myFile, $taeller);
}
if($_POST["submit2"]) {
$taeller--;
file_put_contents($myFile, $taeller);
}
echo $taeller;
?>
Er der ikke noget der mangler ? Når jeg bruger dette
så giver den denne error:
if (isset($_SESSION['superadmin']) or (isset($_SESSION['admin']))(Det er linje 21 og 22)
{
så giver den denne error:
Parse error: syntax error, unexpected '{' on line 22
Hvorfor spørger du istedet for at læse fejlmeddelsen?kasperbje (24) skrev:Er der ikke noget der mangler ?
unexpected '{'Altså en { før den er forventet. Hvordan kan det mon være? Måske har du glemt en parentes?
Jamen hov, du HAR glemt en parentes. Det var godt nok svært at finde ud af.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.