Variabele wordt niet mee gestuurd
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)
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 ---
Zet dit bovenin je script.
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.
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
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)
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)
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
Waarom komt $id vandaan? Want als die voor de if bestaat moet die ook in de if bestaan.
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 ---
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
Enne ik ben nog steeds bij het zelfde probleem beland, de variabele wordt nog steeds niet meegestuurd :(
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.
Code (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
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);
}
?>
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 ;)
Verder zullen de $vars in beide while()'s slecht de gegevens bevatten uit het laatst gevonden record.
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 ---
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.
Maar weet iemand wat het probleem kan zijn met die id?
Of lees ik nu ergens overheen?:O
Verder krijg je geen enkele foutmelding?
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?
Ja, de GET['id'] is niet geset.
Post de volgende keer ook direct wanneer je weer een error hebt, de error melding erbij, zonder die melding kunnen wij je niet helpen
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 ---
Waar set je die GET waarde?
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.