code weglaten
Wat is de bedoeling van die variabele?
Je moet wel eerst een post uitvoeren! Ja, natuurlijk blijft hij leeg.
dit is toch de post;
hoe bedoel je post uitvoeren?
Een POST komt vanaf een formulier hae. Waar voer je die post uit dan?
Vervolgens voert hij de volgende code uit in de verwerking;
Daarna maakt hij een pagina aan genaamd test.php
Daar staat dan de volgende code in;
Als ik test.php opstart in mijn browser krijg ik bij echo "<td>".$record['test']."</td>"; niks, hij blijft gewoon leeg ik voer eerst het formulier in en druk vervolgens op create.
Dat is niet de pagina waarnaar je post. Dus bestaat de $_POST hier niet meer.
Hoe moet ik de post in test.php aanmaken zodat hij alsnog werkt? Ok, ik snap hem. Maar ik moet test.php uiteindelijk werkend krijgen.
Ik heb nooit gewerkt met session`s Hoe doe ik zoiets?
Opslaan van je POST in sessie:
Daarna kun je het weer opvragen op de andere pagina dmv
of
succes. zet bovenaan elke pagina waarmee je met sessies werkt
nou word als sessie "Name" opgeslagen
Ik heb bovenin mijn pagina dat echo $_SESSION geplaatst.
Maar ik krijg nogsteeds niks bij .$record['test']. Ok Pepijn, bedankt
Je vult een formulier in. Dan krijg je een post. Dan voer je ene query uit. Je controleer de post, en als deze klopt wil je de result echo'en?
Ik snap jouw logica niet. Pardon.
Kun je je doel even duidelijk uitleggen. Maar hoe combineer jij de record met de post?
@Dennis, met dit script wat ik heb kan je zelf een php script maken, aan de hand van het formulier bepaal je wat erin komt. De verwerking zorgt ervoor dat er een pagina word opgebouwd, deze pagina word opgeslagen als test.php
Ik ga handmatig naar test.php om het script te zien, alles werkt, behalve dat if()
Als ik het zonder if() doe, dus alleen echo "<td>".$record['test']."</td>"; typ daar, dan word het gewoon uitgevoerd. Natuurlijk moet ik ook bij het formulier aangegeven hebben dat ik test erin wil hebben, want dat zorgt er uiteindelijk voor dat er een database verbinding word gemaakt.
echo "<td>".$record['test']."</td>"; werkt gewoon bij mij, maar ik heb de script zodanig gebouwd dat als ik $test niet aanvink hetvolgende krijg in mijn script:
echo "<td>".$record['']."</td>";
Dit wil ik niet, omdat dat ervoor zorgt dat mijn hele script niet meer werkt.
Ik wil echo "<td>".$record['']."</td>"; weglaten als $test niet is geselecteerd.
Mijn vraag is, hoe doe ik dat? @Pepijn, ja die heb ik inderdaad staan
Nee, zo werkt hij ook niet, hij blijft gewoon leeg
Je moet wel eerst een post uitvoeren!
dit is toch de post;
Een POST komt vanaf een formulier hae.
Code (php)
1
2
3
4
2
3
4
<form ACTION="verwerking.php" METHOD="post">
<input type="checkbox" name="test" value="test">test<br>
<input type="submit" value="Create" > <br>
</form>
<input type="checkbox" name="test" value="test">test<br>
<input type="submit" value="Create" > <br>
</form>
Vervolgens voert hij de volgende code uit in de verwerking;
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 = isset($_POST['test']) ? stripslashes(trim($_POST['test'])) : 'Niet gezet';
$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 = isset($_POST['test']) ? stripslashes(trim($_POST['test'])) : 'Niet gezet';
$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);
}
}
?>
Daarna maakt hij een pagina aan genaamd test.php
Daar staat dan de volgende code in;
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
include "connect.php ";
$query = "SELECT test FROM `database`";
$sql = mysql_query($query);
echo'<table border="1">';
echo '<tr>';
echo "<td>test</td>";
echo '</tr>';
while($record = mysql_fetch_assoc($sql))
{
echo '<tr>';
if(!empty($_POST['test']))
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
echo '</tr>';
}
echo "</table>";
?>
include "connect.php ";
$query = "SELECT test FROM `database`";
$sql = mysql_query($query);
echo'<table border="1">';
echo '<tr>';
echo "<td>test</td>";
echo '</tr>';
while($record = mysql_fetch_assoc($sql))
{
echo '<tr>';
if(!empty($_POST['test']))
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
echo '</tr>';
}
echo "</table>";
?>
Als ik test.php opstart in mijn browser krijg ik bij echo "<td>".$record['test']."</td>"; niks, hij blijft gewoon leeg
Jan Volker schreef op 01.04.2009 12:31:
Daarna maakt hij een pagina aan genaamd test.php
Dat is niet de pagina waarnaar je post. Dus bestaat de $_POST hier niet meer.
Hoe moet ik de post in test.php aanmaken zodat hij alsnog werkt?
In een session stoppen.
Waarom uberhaupt een tussen bestandje? In verwerking kun je toch ook output geven?
Ik heb nooit gewerkt met session`s
Opslaan van je POST in sessie:
Daarna kun je het weer opvragen op de andere pagina dmv
of
succes.
Gewijzigd op 01/01/1970 01:00:00 door W W
nou word als sessie "Name" opgeslagen
Ik heb bovenin mijn pagina dat echo $_SESSION geplaatst.
Maar ik krijg nogsteeds niks bij .$record['test'].
Aan de session_start(); gedacht boven aan de pagina?
Je vult een formulier in. Dan krijg je een post. Dan voer je ene query uit. Je controleer de post, en als deze klopt wil je de result echo'en?
Ik snap jouw logica niet. Pardon.
Kun je je doel even duidelijk uitleggen.
@Dennis, met dit script wat ik heb kan je zelf een php script maken, aan de hand van het formulier bepaal je wat erin komt. De verwerking zorgt ervoor dat er een pagina word opgebouwd, deze pagina word opgeslagen als test.php
Ik ga handmatig naar test.php om het script te zien, alles werkt, behalve dat if()
Als ik het zonder if() doe, dus alleen echo "<td>".$record['test']."</td>"; typ daar, dan word het gewoon uitgevoerd. Natuurlijk moet ik ook bij het formulier aangegeven hebben dat ik test erin wil hebben, want dat zorgt er uiteindelijk voor dat er een database verbinding word gemaakt.
echo "<td>".$record['test']."</td>"; werkt gewoon bij mij, maar ik heb de script zodanig gebouwd dat als ik $test niet aanvink hetvolgende krijg in mijn script:
echo "<td>".$record['']."</td>";
Dit wil ik niet, omdat dat ervoor zorgt dat mijn hele script niet meer werkt.
Ik wil echo "<td>".$record['']."</td>"; weglaten als $test niet is geselecteerd.
Mijn vraag is, hoe doe ik dat?