Gå til innhold

[Løst]Sjemaer har sluttet å fungere når jeg bruker output buffer.


Anbefalte innlegg

Hei!

 

Var litt vanskelig og finne på en god tittel, så dere må leve med den.

 

Problemet mitt er at jeg har et template jeg inkludere i bunnen av scriptet. Alt innholdet som skal skrives ut legges i outbut buffer (ob_start() og $innhold = ob_get_clean();).

 

$innhold skrives da ut der jeg vil i templaten min. Dette har fungert helt fint med sjemaer og alt sånt hittil. Men i dag så har det slutta og fungere. Har gjort litt om på templaten, men det skulle vel ikke ha noe med det og gjøre.

 

Kode:

 

 

Template

<?php
if(!isset($meta)){
$meta="";
}
if(!isset($onload)){
$onload="";
}
if(!isset($_SESSION['brukernavn'])){$brukernavn="Gjest";} else {$brukernavn = $_SESSION['brukernavn'];};
topp($tittel, $meta, $onload);

echo '<table align ="center" style="text-align: left; width: 900px;" border="0"
cellpadding="2" cellspacing="2">';
echo '<tbody>';
echo '<tr>';
echo '<td colspan="3" rowspan="1">';
include $root . '/header.php';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td width="150"></td>';
echo '<td>';
include $root . "/meny.php";
echo '</td>';
echo '<td width="150">asd</td>';
echo '</tr>';
echo '<tr>';
echo '<td></td>';
echo '<td style="background-image: url(' . $domene . '/bg_table.png); background-repeat: repeat;>' , $innhold, '</td>';
echo '<td></td>';
echo '</tr>';
echo '</table>';
bunn();
?>

 

Script med form

<?php
ob_start();

$root = dirname( __FILE__ );
$domene = $_SERVER['SERVER_NAME'];
include_once $root . '/funksjoner.inc.php';
include_once $root . '/config.php';
//Begynner scriptet
function visSjema($nick="", $logginn="", $epost=""){//Definerer en funskjon for og vise registreringsjema
echo '<form method="post" name="registrer">';
echo '<fieldset><legend>Registrer</legend><br>';
echo '<table style="text-align: left;" border="0"';
echo 'cellpadding="2" cellspacing="2">';
echo '<tbody>';
echo '<tr>';
echo '<td>Login:</td>';
echo '<td><input name="logginn" value="' . $logginn . '" type="text"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Nick:</td>';
echo '<td><input name="nick" value="' . $nick . '" type="text"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>E-post:</td>';
echo '<td><input name="epost" type="text" value="' . $epost . '"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Passord</td>';
echo '<td><input name="passord" type="password"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Gjenta passord:</td>';
echo '<td><input name="passord2" type="password"></td>';
echo '</tr>';
echo '</tbody>';
echo '</table>';
echo '<input type="submit" value="Registrer" name="registrer"></fieldset>';
echo '</form>';
}//Slutt på funksjonen

if(isset($_POST['registrer'])){
echo '1';
//Validerer brukerdata
if(isset($_POST['logginn']) AND isset($_POST['nick']) AND isset($_POST['epost']) AND isset($_POST['passord']) AND isset($_POST['passord2'])){//Er alle feltene fylt ut?
 echo '2';
 if($_POST['passord'] == $_POST['passord2']){//Er passord 1 og 2 like?
  echo '3';
  //Fjerner HTML og SQL kode
  $nicki = htmlentities($_POST['nick']);
  $logginni = htmlentities($_POST['logginn']);
  $passordi = htmlentities($_POST['passord']);
  $eposti = htmlentities($_POST['epostii']);
  $nickii = mysql_real_escape_string($nicki);
  $logginnii = mysql_real_escape_string($logginni);
  $passordii = mysql_real_escape_string($passordi);
  $epostii = mysql_real_escape_string($eposti);

  $passordSha1 = sha1($passordii);//Krypterer passordet

  //Sjekker om nick, logginn og epost er forlange.

  if(strlen($nickii) >= 21){
echo '4';
$onload = "popup(Nick kan ikke være lengre en 20 tegn)";
visSjema($nickii, $logginnii, $epostii);
break;
  }else if(strlen($ii) >= 21){
echo '5';
$onload = "popup(Logginn kan ikke være lengre enn 20 tegn)";
visSjema();
break;
  }else if(strlen($epostii) >= 51){
echo '6';
$onload = "popup(Epost kan ikke være lengre enn 50 tegn)";
visSjema($nickii, $logginnii, $epostii);
break;
  }else{
echo '8';
//Alt er i orden, send epost og sett inn i databasen.
$rand = rand(10000, 99999);
mail($epostii, "Registreringsepost fra ForeverYoung", "Velkommen til nettsidene til fy /n /n
			  For å fulføre registreringen klikk på lenken under eller kopier den inn i nettleseren din /n
			  " . $domene . "/valider.php?id" . $rand ." /n/n
			  Hilsen FY ledelsen. /n /n
			  Hvis du mener at denne eposten er feilsend, bare ingorer den og brukeren vil ikke bli registrert.");
  }
 }else{
  echo '8';
  $onload = "popup('Passordene du anga er ikke like')";
  visSjema($nickii, $logginnii, $epostii);
 }
}else{
 echo '9';
 $onload = "popup('Du må fylle ut alle feltene')";
 if(isset($_POST['nick'])){
  echo '10';
  $nick = $_POST['nick'];
 }else{
  echo '11';
  $nick="";
 }
 if(isset($_POST['logginn'])){
  echo '12'; 
  $logginn = $_POST['logginn'];
 }else{
  echo '13';
  $logginn="";
 }
 if(isset($_POST['epost'])){
  echo '14';
  $epost = $_POST['epost'];
 }else{
  echo '15';
  $epost="";
 }
 visSjema($nick, $logginn, $epost);
 echo '16';
}
}else{
echo '17';
visSjema();
}
echo '18';
//$innhold = ob_get_clean();
//include $root . '/tpl/hoved.tpl' 
?>

 

 

 

Til opplysing er ikke det siste scriptet helt ferdig enda.

 

 

 

Håper noen klarer og få noe ut av dette, noe som jeg ikke klarer. Skal prøve med den gamle templaten, men tror ikke det vil gjøre noe forskjell.

Lenke til kommentar
Videoannonse
Annonse

Glemte og fjerne de, men når de kommenteres bort så fungerer det. Når de er "ukomenterte" fungerer det ikke.

 

Problemet er altså at jeg ikke får sendt inn sjemaet.

 

Edit: Fjerna et javasvript som ikke fungerte som skulle sette inn et bakgrundsbilde i en tabell. Vet ikke helt hva det gjorde, men det fungere i allefall

Endret av Rockie
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...