PHP Abfrage beim Laden der Page.

meisti94

Erfahrenes Mitglied
Guten Tag.

Um eine PHP Abfrage direkt beim Laden der Page auszuführen, muss man doch einfach den PHP Code zuoberst an der Seite haben. Ist das richtig?

Dies habe ich bei meinem Code versucht, habes nicht hinbekommen.

Ich wäre froh über eine Hilfe, wie ich meinen Code "umstellen" muss, dass die Abfrage beim Aufrufen der Seite erfolgt.

PHP:
<?php
session_start();
include("sys/login.php");

if(!isset($_SESSION['username']))
   {
   echo "Sie sind nicht eingeloggt.";
   header("location:http://paste.meisti.ch/login/");
   }

$troll = mysql_query("SELECT user_group FROM login WHERE username = '".$_SESSION['username']."'");
$row = mysql_fetch_assoc($troll); 

?> 
<html>
<head>
<style type="text/css">
body {
font: normal 13px Helvetica, Arial, Tahoma, Verdana;
background:url(/images/bg.jpg);
}
#minus{
		font: normal 16px Helvetica;
		padding: 0px 5px 0px 5px;
		color:red;
		float:left;
   }
#text{
		font: normal 16px Helvetica;
		color:black;
		float:left;
   }
#link{
		font: normal 16px Helvetica;
		color:blue;
		
   }
   a:link{ 
	font-weight:bold; color:#FFF8F8; text-decoration:underline; 
}
a:visited{
	font-weight:bold; color:#F7F4F4; text-decoration:none; 
}
a:focus{ 
	font-weight:bold; color:#FBF8F8; text-decoration:underline; 
}
a:hover{ 
	font-weight:bold; color:#D7D6D6; text-decoration:underline; 
}
a:active{ 
 	font-weight:bold; color:#FBF8F8; text-decoration:underline;
}
#script{
	text-align:center;
	margin: auto;
	border-radius: 2px;
}

#script input {
	height: 25px;
	border-radius: 2px;
	border: 1px;
}

#script label {
	display: inline-block;
	min-width: 180px;
	text-align: right;
	padding-right: 10px;
	border-radius: 2px;
}

#script input:hover,
#script input:focus {
	border-radius: 2px;
	border: 2px #009FFF;
	background-color: #c5e6ea;
	opacity: 1.5;
}

#button{
	width: 200px;
}

</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<title>Pasteshit</title>
<script language=" JavaScript" >
function MyReload()
{
document.Refresh.click();
}
</script> 
<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
</head>
<body onLoad=" MyReload()">
<script language="javaScript">
function Event_Key()
{  
  if(event.keyCode == 13)
  {
  }  
}
</script>
<script language="javaScript">
window.onload = function() {
  document.getElementById("text").focus();
};
</script>
<div style="background:#c5e6ea; margin: -12px -5px auto -5px;">
							<h1><a href=""><img src="../images/logo.png" alt="FreelanceSuite"></a></h1>
</div>
<div id="script">
<form method="post" action="index.php">
<table border="0" cellspacing="0" cellpadding="0">
   <tr>
       <th style="color:white;">Nachricht: </th>
        <th></th>
        <th style="padding-left:5px; border-radius: 2px;"><input type="text" id="text" name="text" size="100" maxlength="5000" autocomplete="off" onkeydown="Event_Key();" class="input" style="border-radius: 2px; "></th>
			<th id="absenden" style="padding-left:5px;"><input type="submit" class="button" value="Absenden" style="cursor:pointer;"></th>
				<th id="refresh" style="padding-left:5px;"><input type="submit" onClick="history.go(0)" class="button" value="Refresh" style="cursor:pointer;"></th>
<?php
if ($_SESSION['group'] == "Admin")
{
	echo "	<th style='color:white; padding-top:5px; position:absolute; right:340px; width:auto;'>Du bist als ".$_SESSION['username']." eingeloggt | <a href='logout=successful.php'>Logout</a></th>
			<th id='loeschen' style='padding-left:5px; position:absolute;right:10px;width:auto;'><input type='submit' name='loeschen' style='cursor:pointer' class='button' value='Alle Datens&auml;tze l&ouml;schen!'></th>
			<input type='hidden' value='1' name='oke' />
			</form>
			<th id='registrieren' style='padding-left:5px; position:absolute;right: 180px;width:auto;'><form action='/register/' method='post'><input type='submit' name='registrieren' style='cursor:pointer;' class='button' value='Benutzer Registrieren'></th>
			</form>
			</tr>
			</table>
			</div>";	
}
else
{
	echo "<th style=' color:white; padding-top:5px; position:absolute; right:10px; width:auto;'>Du bist als ".$_SESSION['username']." eingeloggt | <a href='logout=successful.php'>Logout</a></th>
	<input type='hidden' value='1' name='oke' />
	</tr>
    </table>	
</form>
</div>";
}
?>				
<hr /> 
<?php

if(isset($_POST['loeschen'])){
$delete = mysql_query("TRUNCATE TABLE pastebin");
}
else
{
	$error = "<div>Impossible Error</div>";		
	
}
if(isset($_POST['oke'])){

$text = $_POST['text'];
$date = date("Y-m-d H:i:s");


  if(strlen($text) < 2) {
  	$error_message .= 'header("location:http://paste.meisti.ch")';
  }
  else{

$insquery=mysql_query("INSERT INTO pastebin (text, postdate, user) VALUES ('$text', '$date', '".$_SESSION['username']."')");
}	

function convertURLs_callback($matches) {
  $url = htmlspecialchars($matches[0], ENT_QUOTES);
 
  $text = str_replace(array('http://', 'https://'), '', $url);

  return "<a href='$url' target='_blank'>$text</a>";
}   
 
function convertURLs($s) {
  $pattern = '@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@';
 
  return preg_replace_callback($pattern, convertURLs_callback, $s);
}
 
$request = "SELECT text, user, UNIX_TIMESTAMP(postdate) AS `postdate` FROM pastebin order by Id desc limit 50";
$finally = mysql_query($request);
while($row = mysql_fetch_object($finally))
{
  $formattedDate = date('d.m.Y, H:i:s', $row->postdate);
  
  $user = $row->user;

  $code = htmlspecialchars($row->text, ENT_QUOTES);
  $code = convertURLs($code);
  
$code = str_replace ("ä", "&auml;", $code);
$code = str_replace ("Ä", "&uml;", $code);
$code = str_replace ("ö", "&ouml;", $code);
$code = str_replace ("Ö", "&Ouml;", $code);
$code = str_replace ("ü", "&uuml;", $code);
$code = str_replace ("Ü", "&Uuml;", $code);

  echo "<span style='color:#FBFBFB; font-size:16px;'>$formattedDate</span> <span style='color:white;'>:</span>  <span style='color:#FDFDFD; font-size:16px; text-shadow: 1px 0px 0px #000;'>$code</span> <span style='color:white;'> - </span><span style='color:#FBFBFB; font-size:16px;'>$user</span> <br />";  
} 
}
else
{
	$error = "<div>Impossible Error</div>";			
}
?>

</body>
</html>

Vielen Dank im Voraus.
 
Wenn ich die Seite aufrufe muss ich zuerst etwas abschicken (Textfeld) oder auf Refresh drücken.

Ich will aber, dass die Datensätze direkt erscheinen.

Mit den Usernamen ist okay, da es nur eine private Page ist, also nichts öffentliches.
 
Es geht dabei nicht um Sicherheit. Nutzernamen können geändert werden, und das hat dann zur Folge, dass du in sämtlichen Tabellen den Namen mit ändern musst. Eine userID bleibt allerdings gleich, da sind Namensänderungen kein Problem mit. Der Wartungsaufwand ist viel geringer.
Führe mal ein var_dump($_SESSION); direkt nach Session start aus (einmal vor dem include, und einmal danach).
 
Zurück