code weglaten
Ik heb een script geschreven, die nog niet werkt zoals ik wil. Ik zal de situatie proberen uit te leggen.
Aan de hand van een checkbox op een vorige pagina bepaal ik of $test weergegeven moet worden of niet.
Ik heb het volgende script staan op de verwerkingspagina;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$een = stripslashes($_POST['een']);
$test=strip_tags(stripslashes(trim($_POST['test'])));
$twee = stripslashes($_POST['twee']);
print ("Succesvol Aangemaakt\n");
$doorgaan=true;
if ($doorgaan==true)
{
$bn="test.php";
$Open=fopen($bn,"a");
if ($Open)
{
fwrite($Open,"$een");
fwrite($Open,"$test");
fwrite($Open,"$twee");
fclose($Open);
}
}
?>
$een = stripslashes($_POST['een']);
$test=strip_tags(stripslashes(trim($_POST['test'])));
$twee = stripslashes($_POST['twee']);
print ("Succesvol Aangemaakt\n");
$doorgaan=true;
if ($doorgaan==true)
{
$bn="test.php";
$Open=fopen($bn,"a");
if ($Open)
{
fwrite($Open,"$een");
fwrite($Open,"$test");
fwrite($Open,"$twee");
fclose($Open);
}
}
?>
Ik heb het zo gemaakt in mijn script dat $een;
en $twee;
is.
Ik als ik $test dus heb aangevinkt krijg ik het volgende resultaat in test.php;
Dit bovenstaande werkt gewoon, als ik $test niet aanvink krijg ik het volgende in mijn test.php;
En dit zorgt voor een foutmelding.
Weten jullie misschien hoe ik het script zodanig kan aanpassen dat het ".$record['']." gedeelte word weggelaten als $test niet is geselecteerd.
Ik zou het fijn vinden als iemand me zou kunnen helpen met het oplossen van dit probleem.
Jan Volker
En wat is die foutmelding dan?
je geeft geen veldnaam in die index mee ;)
Als het is aangevinkt maakt hij op lijn 46 het volgende aan;
Als het niet is aangevinkt krijg ik het volgende;
Bij de tweede gaat het fout, ik wil dat het script werkt als ik $test niet aanvink.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if(empty($_POST['test']))
{
echo "<td> </td>";
}
else
{
echo "<td>" . $record['test'] . "</td>";
}
{
echo "<td> </td>";
}
else
{
echo "<td>" . $record['test'] . "</td>";
}
Tips: Maak geen gebruik van AUTO GLOBALS, maar gebruik netjes $_POST['test'] in plaats van $test.
Ik weet niet wat voor data er in de betrefende kolom zit, maar htmlentities() doet soms wonderen...
Het bovenstaande pakt hij niet, als ik $test niet aanvink krijg ik nogsteeds dezelfde foutmelding
Edit:
Had het script niet goed bekeken...
Had het script niet goed bekeken...
Gewijzigd op 01/01/1970 01:00:00 door Sander Z
Niemand?
Dan is $_POST['test'] blijkbaar leeg.
Ik maak nog ergens gebruik van $test en daar krijg ik het gewoon wel. Of ik hem aanvink of niet ik krijg het gewoon leeg daar.
met dat "print_r($_POST);" commando erbij krijg ik bovenin mijn pagina "Array ( )" te staan
Jan Volker schreef op 27.03.2009 10:57:
met dat "print_r($_POST);" commando erbij krijg ik bovenin mijn pagina "Array ( )" te staan
Dus is de $_POST leeg.
Edit: Laat van je formulier de <form>-regel eens zien.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
SanThe schreef op 27.03.2009 10:18:
Dit is de oplossing. Je moet een waarde meegegeven aan de $_POST.
Zonder waarde mee te geven krijg je deze foutmelding.
@Paul, $_POST werkt wel (tenminste in de rest van het script wel), ik wil alleen geen ". $record['test']." krijgen in mijn script als $test niet is aangevinkt
niemand?
Jan Volker schreef op 27.03.2009 12:49:
@SanThe, het maakt wel uit:) zonder ACTION="verwerking.php" gaat hij ook niet naar het verwerkingspagina waardoor het script niet uitgevoerd word.
Het zijn dus twee aparte scriptjes. En in welke staat dan die if()?