Redirect vanuit een function mislukt
Ik krijg het maar niet voor elkaar om gelukte submits te redirecten naar dezelfde pagina. Alleen echo's lukken, maar dat is niet wat ik wil. Ik heb geprobeerd om een javascript window redirect te maken in de echo zelf -> mislukt. Ook de header location van php is mislukt. Misschien heb ik het wel niet goed gedaan.
Mijn script ziet er nu zo uit:
-- FUNCTIONS --
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$conn = connect();
$action = $_GET['a'];
$id = $_GET['id'];
case 'add_twitter':
$sql="INSERT INTO twitter (twitternaam) VALUES ('$_POST[twitternaam]')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "Gelukt";
break;
?>
$conn = connect();
$action = $_GET['a'];
$id = $_GET['id'];
case 'add_twitter':
$sql="INSERT INTO twitter (twitternaam) VALUES ('$_POST[twitternaam]')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "Gelukt";
break;
?>
En mijn Verander Twitter form:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<html>
<form id="form" action="project_functions.php?a=add_twitter" method="post">
<label>Twitter:</label>
<input type="text" name="twitternaam" /><br>
<label>Submit:</label>
<input type="submit" />
</form>
</html>
<form id="form" action="project_functions.php?a=add_twitter" method="post">
<label>Twitter:</label>
<input type="text" name="twitternaam" /><br>
<label>Submit:</label>
<input type="submit" />
</form>
</html>
Heeft iemand enig idee hoe ik in mijn functie.php een redirect kan maken?
Alvast hartstikke bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Don
op welke file staat het formulier (waar je dus terug naartoe wil)?
Die case, staat die bij jou in een switch?
Toon eens hoe je probeerde te redirecten met header location (want wees gerust: header location werkt wel!).
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$conn = connect();
$action = $_GET['a'];
$id = $_GET['id'];
switch($action) {
// Hier komen alle cases terecht.
?>
$conn = connect();
$action = $_GET['a'];
$id = $_GET['id'];
switch($action) {
// Hier komen alle cases terecht.
?>
En als ik dan bijvoorbeeld het twitter fomulier heb ingevuld, dat hij weer terug redirect naar dat form, dus verander_twitter.php
Dit had ik geprobeerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
case 'add_twitter':
$sql="INSERT INTO twitter (twitternaam) VALUES ('$_POST[twitternaam]')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "Je twitter account is met succes gewijzigd.";
header("Location: verander_twitter.php");
break;
?>
case 'add_twitter':
$sql="INSERT INTO twitter (twitternaam) VALUES ('$_POST[twitternaam]')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "Je twitter account is met succes gewijzigd.";
header("Location: verander_twitter.php");
break;
?>
Als het nog niet duidelijk is, kan ik wel de hele pagina's erin zetten, als je wilt.
$vars buiten quotes houden.
Insert is geen wijziging maar een toevoeging, dus je tekst klopt niet.
Script is lek => sql-injection.
Hoe bedoel je de 3 anderen, precies? Dit heeft me ineens hard gedemotiveerd om verder te gaan :p
1) IPV een Header een <meta>- refresh gebruiken (Not done)
2) OB_START gebruiken (Not done)
3) Je programmering beter maken waardoor je de output pas als laatst eruit poept en niet tussendoor echo's maakt (Done)