PHP/MySQL-Problem

also beim header gibt es paar regeln. und scheinbar haste wieder mal eine gebrochen ^^. es darf prinzipell kein code ausgegen werden und scheinbar wrde vor deinem header aufruf schon code gesendet, durch die inactive.php

warum xampp das bei dir macht kann ich net sagen, bei mir meckert er immer bei beiden gleich rum :)

jop, hab den code neu geschrieben, das liegt aber neben dem reinfinden auch an meinen ansprüchen :)
 
Was bringt mir die headerfunktion, wenn ich vorher keinen Code bringen kann???
Schließlich brauche ich eine Möglichkeit, nach Ausführen der entsprechenden Funktion automatisch wieder auf eine bewusste Seite geleitet zu werden.

Wenn ich die headerfunktion an den Anfang stelle, führt er mir doch nicht den Code aus, sondern geht gleich auf die entsprechende Seite.
Naja wenn das net geht, wie kann mans noch umsetzen?

@UBZ ...so ähnlich hatte ich mir das gedacht, daher die lange Entwicklungszeit. Na dann bin ich ja schonmal gespannt, was man da dann so alles machen kann :D
 
Last edited:
Du kannst schon Code ausführen, jedoch nur kein HTML etc, also keinen Code der an den Verbraucher gesendet wird. Denn dadurch wird ein Header gebildet, und dann kann man den nicht mehr ändern. ;)
 
Mhm :? Da steig ich net durch.
I hab doch nirgends HTML-Code drin.
Hier mal der ganze Code der Deaktivierung:

PHP:
<?
/* Session initialisieren */
session_start();
//Variablenübernahme
require('inc/login.inc.php');
require('inc/db.inc.php');

if(is_logged_in())
	{
  $sec = $_GET['sec'];
  $id = $_GET['id'];
  $tab = $_GET['tab'];
  //Datenbankverbindung
  $conn = mysql_connect($host, $uid, $pwd);
  //Datenbank auswählen
  mysql_select_db($db);
  //Datenbankabfrage
  $wert = '-2';
  $sql1 = "UPDATE $tab set visible = $wert WHERE id = $id";
  mysql_query($sql1);
  mysql_close($conn);
  }
  header("Location: index.php?section=$sec");
?>
 
headers already sent by (output started at /usr/home/xxx.de/htdocs/rsn/admin/index.php:12)

also muss inner index.php Zeile 12 irgendwas sein :)

du müsstest mal wegen session_start schauen, du lässt das mehrmals ablaufen, daran liegt das mit dem header net, aber es bringt dir nix inner inactive und login.inc das ding starten zu lassen ;) schreib am besten ne global.php oder so, wo du alle befehle, die immer ablaufen müssen reinpackst und lasse auf die per require oder require_once zugreifen :)
 
Die index.php besteht im Grunde nur aus dem HTML-Grundgerüst. Alles ist via DIV-Containern aufgebaut (CSS so viel einfacher als PHP :D). Die Container wiederum enthalten einen include auf die 4 Grundlagendateien Header, Footer, Menu und Content, aus denen sich die HP zusammensetzt. Naja mal schaun, wie ich das geradebügeln kann.
 
befehle die header brauchen musste halt ganz an den start packen, bevor irgendwas per echo (); print() oder halt html und konsorten gesendet wird.

noch besser wäre ne tpl class, am besten wäre da du schreibst dir erstmal ne db class, die is recht einfach und da lernt man das OOP system gut zu verstehen :) ( hat mir jedenfalls geholfen als einstieg ;) )
 
Naja, OOP halte ich nicht unbedingt für Einsteigerfreundlich und Templatesysteme erst recht nicht :p Damit habe ich mich mal ansatzweise beschäftigt, aber da brauch ich noch ne Weile für.

Die Index-Datei besteht nunmal aus HTML und wird immer ausgeführt. Da kann ich keine Ausgabe verhindern, weil sonst meine Seite gar nicht erst angezeigt wird. Muss ich mir am WE mal Zeit für nehmen. Unter der Woche komm ich wegen Arbeit praktisch zu nix. Das das auch alles so kompliziert sein muss.
 
Last edited:
wie wäre das:

PHP:
<?php
BLA ( Header )
?>
HTML
<?php ?>
HTML
...

is halt wichtig, das ganz oben header kommt :)
 
Der header wird doch in in einer Extradatei gebraucht. In der Index nützt der mir ja nix oder steh ich da jetzt total aufm Schlauch? Wie isn das eigentlich bei Funktionen die beide am Anfang stehen müssen. Sagen wir mal session_start und header :? Wer hat denn da Vorfahrt?

Dann hab ich beim rumsuchen noch ne etwas umständliche Möglichkeit durch 2 Funktionen gefunden, die die Ausgabe eines headers unterbinden.
ob_start und ob_end_flush oder so ähnlich hießen die.
 
ja, aber stelle es dir mal so vor.

du hast ein blatt, da schreibste text drauf. jetzt machste ein * und verweist auf ein anderes blatt, dann liest der server deinen text so:

er liest das blatt bis zum * liest dann das blatt vom sternchenund dann dein blatt weiter udn das alles als wäre es ein blatt. d.h. wenn zwar beim blatt vom sternchen header vor dem html steht, so ist es insgesamt nicht davor.

jop, ob_ dient zur ausgabe steuerung, kann nützlich für dich sein, jedoch solltest du in solch kleinen fällen lieber die rangordnung einhalten, da ne ob_ funktion eigentlich noch net zwingend notwendug ist für dich :)
 
Ich hab mir deine OOP-db_class mal ausgedruckt und werde die Schritte mal bei Gelegenheit in Ruhe studieren. Manchmal kommt so auch die Erleuchtung. Ein Videotutrial bei tutorials.de hab ich mir auch mal angesehen. Klingt interessant, aber der Code wird auch umständlicher und umfangreicher. Andererseits kann man später aber auch viel Code sparen und einfach auf die Klasse verweisen. Wie siehts denn mit der Performance aus. Ich habe gemerkt, dass einige meiner Skripte auf dem Server für meinen Geschmack zu lange arbeiten.
 
hm, bei mir hat die script dauer meist 0,02 sec etc, das is auch ganz gut so, wenn ich nur die db class ntuze wäre es noch weitaus kleiner.

Du müsstest dir noch ne erklärung zu OOP holen, damit du weißt was ein contruct ist, was $this-> bedeutet, etc :)
 
habsch scho :D Mittlerweile 3 Bücher:
PHP 5 für Dummies, Webseiten programmieren und gestalten von Mark Lubkowitz und die Studienausgabe von M. Kannengießer über MySQL 4 und PHP 5. Meistens kommt bei Thema OOP die Sache mit den Autos als Erklärung. Mit $this-> greift man glaub ich auf die Eigenschaften des Objekts zu.
Aber ich wollte halt erstmal die Grundlagen lernen und dann auf das höhere Programmieren eingehen. Wenn ich mir keine Gedanken mehr darüber machen muss, wie die Syntax einer Schleife aussieht, dann kann ich mich auch höherem zuwenden. Aber diese Grundlagen müssen erstmal sitzen.
 
das mit dem auto kenne ich nicht :> aber stimmt schon, erstmal mit dem leichten anfangen :) ich weiß ja net wie sehr dir programmieren schon aus anderen scriptsprachen etc bekannt ist ;)

$this-> dient übrigens dazu ein Element in deiner Klasse anzusprechen, also da ne klasse ja funktionen etc enthält sind manche nur innerhalb der funktion gültig, oderhalt überall, die, welche überall gültig sind hätten dann ein $this-> davor :)
 
Andere Skriptsprachen...mhm...Assembler, Turbopascal, CNC, SPS...is alles eher ne andere Kategorie...ich glaub PHP is die Erste :D
Ja, da gibts schon feine Sachen...aber alles mit der Zeit. Derzeit liegt beim Coden immer irgendein Buch neben mir, da ich mir viele Sachen noch nicht merken kann von der Syntax her und die Zusammenhänge in den Büchern und im Internet zT nicht wirklich erklärt werden. Es läuft eigentlich wie immer bei PC´s...Try and Error oder Learning by doing! Mal überlegen, mit neuem Code ändert sich doch immer auch das Design :D, oder bleibt das so schlicht wie vorher. Meins besteht derzeit praktisch nur aus CSS. Außer den Aktionsicons im Adminbereich gibts null Bilder.
Nebenbei ist mir aufgefallen, dass meine CSS den IE etwas umhaut. Besonders die leider nicht W3C-konforme Eigenschaft der runden Ecken "moz". Die Bordereigenschaften dottet und dashed werden irgendwie auch etwas anders ausgelegt?! Aber ehrlich gesagt bin ich nicht gewillt, Browserweichen einzubauen :D
 
Hab das header-Problem gelöst...etwas unfein, aber es klappt :D

PHP:
echo "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?section=$sec\">";

Wenn man keine PHP-header senden kann, dann halt nen guten alten HTML-Refresh ;) UPDATE-funktion funzt jetzt auch. Nächste Woche versuch ich mich dann mal an ein paar Formatierungsmöglichkeiten a la Fett, Unterstrichen und Smilies :D Irgendwann kommt dann noch ein Design...et voila...dann kann ich mich denk ich mal auf absehbare Zeit der Objektorientierung widmen und das jetztige Flickwerk etwas reformieren ;)
 
Last edited:
Back
Top Bottom