Foutmelding in enquêtte formulier.
http://www.phphulp.nl/php/scripts/2/954/
maar ik krijg deze fout:
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/config.php:7) in /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/vragen.php on line 22
daaronder komt de eerste vraag weer.
Wie o wie kan mij helpen?
Hallo ik heb het volgende enquêtte formulier gebruikt: maar ik krijg deze fout:
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/config.php:7) in /usr/home/ws/boers/www.boersriooltechniek.nl/www/marktonderzoek/vragen.php on line 22
daaronder komt de eerste vraag weer.
Wie o wie kan mij helpen?
Gewijzigd op 01/01/1970 01:00:00 door Ton Boers
Ik wil een nieuw bericht plaatsen, waar moet ik me aan houden?", en dan in het bijzonder puntje 1 en 3.
Zie ook "controleer even je database connecties , o.a. ook je query's..
Gewijzigd op 01/01/1970 01:00:00 door Ton Boers
wouter schreef op 02.11.2007 21:58:
Wat heeft dit er nu weer mee te maken? Deze foutmelding wordt veroorzaakt doordat er al output naar de browser verzonden is voordat een functie als header(), session_start() of setcookie() aangeroepen wordt...heb even gezien
controleer even je database connecties , o.a. ook je query's..
controleer even je database connecties , o.a. ook je query's..
ps. @Ton: zorgen dat er nog geen output naar de browser verzonden wordt. Houd logica (php) en output (html) gescheiden.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Ja maar hoe moet ik het dan veranderen?
Zoeken naar functies als session_start() en header() en zorgen dat er geen output (echo's, html code, etc) in je script staat voordat deze functies aangeroepen worden...
In je config.php op regel 7 geef je blijkbaar al output.
Het script is als volgt mischien dat iemand daar wat mee kan.
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
41
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
41
<?php
session_start();
include "config.php";
$aantal_vragen = mysql_num_rows(mysql_query("SELECT id FROM vragen"));
if($_POST['volgende'] && $_SESSION['vraagnr'] != '' && $_POST['vraag'.$_SESSION['vraagnr']] != '')
{
if($_POST['vraag1'])
$_SESSION['antwoordjes'] = $_POST['vraag1'];
else
$_SESSION['antwoordjes'] .= '|'.$_POST['vraag'.$_SESSION['vraagnr']];
$_SESSION['vraagnr']++;
}
if($_POST['vraag'.$aantal_vragen] != '' && $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
mysql_query("INSERT INTO antwoorden (ip,antwoorden,datum) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SESSION['antwoordjes']."',NOW())");
session_destroy();
header("Location: outro.php");
}
if($_SESSION['vraagnr'] == '' || $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
$vraag = 1;
$_SESSION['vraagnr'] = $vraag;
}
else
$vraag = $_SESSION['vraagnr'];
$data = mysql_fetch_array(mysql_query("SELECT vraag,antwoorden FROM vragen WHERE id='".$vraag."'"));
$antwoorden = explode('|',$data['antwoorden']);
$vraag = stripslashes($data['vraag']);
?>
session_start();
include "config.php";
$aantal_vragen = mysql_num_rows(mysql_query("SELECT id FROM vragen"));
if($_POST['volgende'] && $_SESSION['vraagnr'] != '' && $_POST['vraag'.$_SESSION['vraagnr']] != '')
{
if($_POST['vraag1'])
$_SESSION['antwoordjes'] = $_POST['vraag1'];
else
$_SESSION['antwoordjes'] .= '|'.$_POST['vraag'.$_SESSION['vraagnr']];
$_SESSION['vraagnr']++;
}
if($_POST['vraag'.$aantal_vragen] != '' && $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
mysql_query("INSERT INTO antwoorden (ip,antwoorden,datum) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SESSION['antwoordjes']."',NOW())");
session_destroy();
header("Location: outro.php");
}
if($_SESSION['vraagnr'] == '' || $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
$vraag = 1;
$_SESSION['vraagnr'] = $vraag;
}
else
$vraag = $_SESSION['vraagnr'];
$data = mysql_fetch_array(mysql_query("SELECT vraag,antwoorden FROM vragen WHERE id='".$vraag."'"));
$antwoorden = explode('|',$data['antwoorden']);
$vraag = stripslashes($data['vraag']);
?>
Het gaat om regel 7 in config.php...
Ton Boers schreef op 02.11.2007 22:14:
Nee er staat opp regel 7 de eind code van php (?<)
?< ...... ??????
Edit:
En staat daar toevallig nog een spatie achter? Dat mag namelijk ook niet.
En staat daar toevallig nog een spatie achter? Dat mag namelijk ook niet.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Of een enter, zoals vele editors er automatisch achter gooien.
Ik heb nu de header verandert in echo en dan feeft hij de tekst wel goed weer maar de eerste vraag verschijnt ook weer opnieuw.
Ton Boers schreef op 03.11.2007 09:23:
Tja een header veranderen in echo is ook niet echt logisch, dat zijn twee aparte dingen...Ik heb nu de header verandert in echo en dan feeft hij de tekst wel goed weer maar de eerste vraag verschijnt ook weer opnieuw.
Header gebruik je om de gebruiker bijvoorbeeld door te sturen en echo gebruik je om iets op het scherm weer te geven. Dat met elkaar vervangen is dus niet slim.
Je moet zorgen dat je in config.php op regel 7 geen output naar de browser verstuurt, dan zal je header ook gewoon normaal werken. Geef anders eens de code van config.php, dan kunnen we zien waar het fout gaat.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//vul hier je gegevens in (alleen gebruikersnaam en wachtwoord):
mysql_connect('localhost','gebruikersnaam','wachtwoord') or die('<br /><br />Er ging iets fout bij het verbinden met de database. Controleer of je verbinding hebt, de config goed ingevuld is, de database aangemaakt is enz.<br /><br />Foutmelding:<br />'.mysql_error());
//vul hier de database in die je gebruikt
mysql_select_db('tabel');
?>
//vul hier je gegevens in (alleen gebruikersnaam en wachtwoord):
mysql_connect('localhost','gebruikersnaam','wachtwoord') or die('<br /><br />Er ging iets fout bij het verbinden met de database. Controleer of je verbinding hebt, de config goed ingevuld is, de database aangemaakt is enz.<br /><br />Foutmelding:<br />'.mysql_error());
//vul hier de database in die je gebruikt
mysql_select_db('tabel');
?>
Er staan ook geen loze spaties of enters op of na regel 7?
Nee ik heb alles nagekken dus ik snap er ook niks meer van.
Kopieer de code eens die je net gepost hebt en plak die eens in een nieuw bestand dat je config.php noemt. Soms staan er tekens die je niet kunt zien maar toch voor output zorgen.
Als je het helemaal wil bekijken het staat ook op internet : http://www.tonboers.nl/mini/marktonderzoek/
Gewijzigd op 01/01/1970 01:00:00 door Ton Boers
Zoals ik eerder al zei mag er totaal geen output naar de browser verstuurd zijn op het punt waar de header() aangeroepen wordt, dus ook geen html. Een een iframe is toch duidelijk html...