code weglaten
Pagina: « vorige 1 2 3 volgende »
1 formulier en 1 verwerkingspagina.
Dit is de formulier:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<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>
En dit is 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);
}
}
?>
De if() staat in de verwerkingspagina
niemand?
Ik krijg geen foutmelding, er wordt in beide gevallen (aangevinkt of leeg) een bestand aangemaakt. Waar test instaat indien aangevinkt, en leeg is als test niet is aangevinkt.
Het bestand word inderdaad aangemaakt met $test erin, maar als je het in php opent haalt hij niks uit de database, ik krijg dan lege velden op mijn scherm terwijl ik zeker weet dat er iets in mijn database zit, en dat $test werkt.
En uit je database? is dit stukje code de volledige ? of haal je ergens nog wat uit de database, in dit stukje code werk je alleen met een bestand die je aanmaakt namelijk.
Misschien begrijp ik je wel verkeerd, maar even om te zorgen dat we op 1 lijn zitten.
Nou ziet de test.php pagina er zo uit als hij is aangemaakt:
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> </td>";
}
else
{
echo "<td>".$record['test']."</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> </td>";
}
else
{
echo "<td>".$record['test']."</td>";
}
echo '</tr>';
}
echo "</table>";
?>
Waar het fout gaat is bij het volgende
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>";
}
Als ik test niet aanvink in het formulier krijg ik krijg ik niks.
Als ik test aanvink zou ik .$record['test']. moeten krijgen, of beter gezegt, het zou uitgevoerd moeten worden, maar dat doet hij niet.
Als ik het hele if gebeuren weghaal en alleen echo "<td>".$record['test']."</td>"; zet dan voert hij hem wel uit.
Dus ja, dat is het probleem, hij voert die .$record['test']. niet uit als ik hem aanvink
Als ik het dus goed begrijpt, geeft hij wel de goede waarde door, maar werkt je if statement niet goed ?
ja, klopt
Misschien werkt zoiets als dit:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if(!empty($_POST['test']))
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
Gewijzigd op 01/01/1970 01:00:00 door Maik Diepenbroek
Nee, zo werkt hij ook niet, ik krijg nogsteeds een leeg tabel
Misschien zou je even kunnen checken of $_POST['test'] uberhaupt een waarde bevat, en vanuit daar de volgende stap bedenken.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if($_POST['test'] != '')
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
{
echo "<td>".$record['test']."</td>";
}
else
{
echo "<td> </td>";
}
Gewijzigd op 01/01/1970 01:00:00 door Tamara
Is dat niet hetzelfde als !empty ?
Ik dacht dat je bij empty kijkt of de variabele bestaat, maar kijkt niet naar de waarde hiervan.
Een 0 is voor voor de functie empty ook leeg. Snap ge vou?
[bron: php.net]
Dit refereert toch naar de inhoud van de variabele ?
Notice: Undefined index: test in C:\Program Files\EasyPHP 3.0\www\test.php on line 48
Voor post gebruik ik het volgende;
Zal dat wat uitmaken?
Was net bezig een verhaal te typen, maar idd dat is de reden van die error.
Ok, hoe zet ik dan zoiets in dit script, zodat hij wel werkt?