Variabele wordt niet mee gestuurd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Leander ---

Leander ---

24/12/2009 11:02:00
Quote Anchor link
Hallo,

Ik ben met een scriptje bezig voor verwijderen, wijzigen en voltooien.
Als er op een van die buttons gedrukt wordt wordt je door gestuurd naar: /wijzig.php?id=$id

Dit doe ik d.m.v een header(location:...);
Alleen het probleem is, hij wil de $id niet in delink zetten. Er komt dan gewoon een wit stuk, net alsof de variabele $id geen waarde bevat terwijl ie dat wel heeft.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_GET['verwijder'])) {
    header("location:verwijder.php?id=".$id);
    }

if (isset($_GET['wijzig'])) {
    header("location:wijzig.php?id=".$id);
    }

if (isset($_GET['voltooi'])) {
    header('location:voltooi.php?id='.$id);
    }

?>

Daar moet het aan liggen, want als ik zo'n header location buiten de if structuur zet doet ie het wel gewoon. Dan stuurt ie de id wel netjes mee.

Alvast bedankt,

Mvg,
SpinLock
Gewijzigd op 01/01/1970 01:00:00 door Leander ---
 
PHP hulp

PHP hulp

21/11/2024 14:20:40
 
- SanThe -

- SanThe -

24/12/2009 11:07:00
Quote Anchor link
Waar komt $id vandaan?

Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Kasper Heyndrickx

Kasper Heyndrickx

24/12/2009 11:08:00
Quote Anchor link
Spinlock schreef op 24.12.2009 11:02:
Hallo,

Ik ben met een scriptje bezig voor verwijderen, wijzigen en voltooien.
Als er op een van die buttons gedrukt wordt wordt je door gestuurd naar: /wijzig.php?id=$id

Dit doe ik d.m.v een header(location:...);
Alleen het probleem is, hij wil de $id niet in delink zetten. Er komt dan gewoon een wit stuk, net alsof de variabele $id geen waarde bevat terwijl ie dat wel heeft.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_GET['verwijder'])) {
    header("location:verwijder.php?id=".$id);
    }

if (isset($_GET['wijzig'])) {
    header("location:wijzig.php?id=".$id);
    }

if (isset($_GET['voltooi'])) {
    header('location:voltooi.php?id='.$id);
    }

?>

Daar moet het aan liggen, want als ik zo'n header location buiten de if structuur zet doet ie het wel gewoon. Dan stuurt ie de id wel netjes mee.

Alvast bedankt,

Mvg,
SpinLock


btw, aan gezien je toch maar 1 geval kan hebben,
is het beter om elseif te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (isset($_GET['verwijder'])) {
    header("location: verwijder.php?id=".$id);
}
elseif (isset($_GET['wijzig'])) {
    header("location: wijzig.php?id=".$id);
}
elseif (isset($_GET['voltooi'])) {
    header("location: voltooi.php?id=".$id);
}

?>


ter informatie: gebruik code-tags om de php-tags te zien, en de kleurtjes
Gewijzigd op 01/01/1970 01:00:00 door Kasper Heyndrickx
 
TJVB tvb

TJVB tvb

24/12/2009 11:20:00
Quote Anchor link
Waarom komt $id vandaan? Want als die voor de if bestaat moet die ook in de if bestaan.
 
Leander ---

Leander ---

24/12/2009 11:22:00
Quote Anchor link
@Santhe

Die id komt uit een link. Die haal ik er dus uit om vervolgens weer door te zenden, indien nodig:
$id = $_GET['id']; (dit id gebruik ik dus ook in de sql query's etc.. Dus hij heeft op dat moment wel een waarde, ook als ik id gewoon op de pagina laat weergeven laat hij 35 zien.)

De variabele $id heeft wel degelijk een waarde bij zich alleen die wil het niet doorsturen in die if constructie.

Ik krijg trouwens deze foutmelding nu: Parse error: syntax error, unexpected T_ISSET, expecting T_STRING or T_VARIABLE or '$' in /volume1/web/spotlight/view.php on line 31

Ik zal nog wel even doorzoeken op google, ik ken al die meldingen ook niet.

@Kasper

Ja, bedankt ik heb het veranderd.

Ik kwam daar later pas achter, snapte eerst even niet meer hoe dat hier werkte.
Gewijzigd op 01/01/1970 01:00:00 door Leander ---
 
Kasper Heyndrickx

Kasper Heyndrickx

24/12/2009 11:25:00
Quote Anchor link
en btw,

je kan in de url dit zette: ?verwijder&wijzig&voltooi

wat zou hij dan doen? Hij gaat eerst verwijderen!
Dus pas mss de volgorde aan van je if-structuur..

mvg Kasper

& rtfm ;D
Gewijzigd op 01/01/1970 01:00:00 door Kasper Heyndrickx
 
Leander ---

Leander ---

24/12/2009 13:29:00
Quote Anchor link
Ik zal het veranderen ;) Maar het is de bedoeling dat ie 1 van die 3 gaat doen, niet alle 3.

Enne ik ben nog steeds bij het zelfde probleem beland, de variabele wordt nog steeds niet meegestuurd :(
 
TJVB tvb

TJVB tvb

24/12/2009 13:33:00
Quote Anchor link
Kun je eens het script posten met alles wat ervoor gebeurt en waar je die $id instelt?
Want als $id voor die if bestaat moet die binnen de if ook nog bestaan.

En je moet natuurlijk eerst even die error oplossen anders doet die niks.
 
Leander ---

Leander ---

24/12/2009 13:50: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
<?php
ob_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);

// Maak verbinding met database
include_once("db_connect.php");

// Haal id op uit de link
$id = $_GET['id'];

// Opvragen afbeeldingen en in variabelen plaatsen
$sql = mysql_query("SELECT * FROM afbeeldingen WHERE id='$id'");
while ($rij = mysql_fetch_array($sql)) {
    $afbeelding = $rij['afbeelding'];
}

// Opvragen algemene gegevens en in variabelen plaatsen
$sql2 = mysql_query("SELECT * FROM gegevens WHERE id='$id'");
while ($rij = mysql_fetch_array($sql2)) {
    $tijd  = $rij['tijd'];
    $auteur  = $rij['auteur'];
    $download  = $rij['download'];
    $environment  = $rij['environment'];
    $mood = $rij['mood'];
    $type = $rij['type'];
    $moeilijkheid = $rij['moeilijkheid'];
    $omschrijving = $rij['omschrijving'];
    $naam = $rij ['naam'];
    $coppers = $rij['coppers'];
}



if (isset($_GET['verwijder'])) {
    header("location: verwijder.php?id=".$id);
}
elseif (isset($_GET['wijzig'])) {
    header("location: wijzig.php?id=".$id);
}
elseif (isset($_GET['voltooi'])) {
    header("location: voltooi.php?id=".$id);
}

?>


Dat is het stuk dat ervoor staat ;) Hij werkt nu trouwens wel ;)
 
- SanThe -

- SanThe -

24/12/2009 13:54:00
Quote Anchor link
Script is lek => SQL-Injection.
Verder zullen de $vars in beide while()'s slecht de gegevens bevatten uit het laatst gevonden record.
 
Leander ---

Leander ---

24/12/2009 14:21:00
Quote Anchor link
Ik weet dat mijn script niet helemaal safe is, ik zal daar later ook meer aandacht aan gaan besteden.
Hoe bedoel je uit de laatst gevonden record? Toch gewoon welk id hij krijgt in die query?
Gewijzigd op 01/01/1970 01:00:00 door Leander ---
 
- SanThe -

- SanThe -

24/12/2009 14:35:00
Quote Anchor link
Spinlock schreef op 24.12.2009 14:21:
Hoe bedoel je uit de laatst gevonden record? Toch gewoon welk id hij krijgt in die query?

Ja, je hebt gelijk, had ik even niet op gelet. Echter als er toch altijd maar één record gevonden kan worden is een while() natuurlijk overbodig.
 
Leander ---

Leander ---

24/12/2009 14:48:00
Quote Anchor link
Daar heb ik inderdaad ook nog even over na gedacht, ik zal het proberen te veranderen ;)

Maar weet iemand wat het probleem kan zijn met die id?
 
Wim E

Wim E

24/12/2009 14:58:00
Quote Anchor link
Wat moet er nu nog meer fout zijn met je id dan?
Of lees ik nu ergens overheen?:O
 
- SanThe -

- SanThe -

24/12/2009 14:58:00
Quote Anchor link
Haal die ob_start() eens weg.
Verder krijg je geen enkele foutmelding?
 
Leander ---

Leander ---

24/12/2009 15:07:00
Quote Anchor link
Notice: Undefined index: id in /volume1/web/spotlight/view.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at /volume1/web/spotlight/view.php:9) in /volume1/web/spotlight/view.php on line 50

Dan krijg ik deze meldingen, ik snap die eerste niet? Zegt ie nu dat de variabele id leeg is?
 
- SanThe -

- SanThe -

24/12/2009 15:09:00
Quote Anchor link
Ja, de GET['id'] is niet geset.
 
Wim E

Wim E

24/12/2009 15:12:00
Quote Anchor link
Post de volgende keer ook direct wanneer je weer een error hebt, de error melding erbij, zonder die melding kunnen wij je niet helpen
 
Leander ---

Leander ---

24/12/2009 15:15:00
Quote Anchor link
SanThe schreef op 24.12.2009 15:09:
Ja, de GET['id'] is niet geset.


Hoe bedoel je precies? Want als ik overal in t bestand, begin of eind, een echo $id; neerzet.
Dan krijg ik wel gewoon het getal 35 te zien wat ook klopt.

@wim

Dankzij Santhe heb ik die melding gekregen.. Daarvoor werkte alles gewoon, dus kreeg ik die melding ook niet ;)
Gewijzigd op 01/01/1970 01:00:00 door Leander ---
 
- SanThe -

- SanThe -

24/12/2009 15:52:00
Quote Anchor link
Waar set je die GET waarde?
 
Leander ---

Leander ---

24/12/2009 15:57:00
Quote Anchor link
Bij het toevoegen van gegevens wordt er automatische een id bijgevoegd in de database (auto increment) Die haal ik er daarna weer uit, en zet ik in de link wat dus wordt view.php?id=36.

Dan kom ik in dit bestand(waar de fout nu in zit) en daar haal ik het via $_GET weer uit de link om te gebruiken in de rest van m'n programma.
 

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.