Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] hilfe php fehler Indclude GB (https://www.gegen-bilderklau.net/thread.php?threadid=153556)


Geschrieben von Das Mietzetaze am 11.04.2009 um 21:24:

  hilfe php fehler Indclude GB

ich bekomm folgende fehlermeldung wen ich mein Gbook beziehen will,
kann mir evtl. wer sagen was ich machen muss das das nimmer kommt.

hier link zum gbook http://jessy.bplaced.net/gb1/guestbook.php


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /users/jessy/www/Little_Kitten/inhalt.php on line 5

Warning: include(http://jessy.bplaced.net/gb1/guestbook.php) [function.include]: failed to open stream: no suitable wrapper could be found in /users/jessy/www/Little_Kitten/inhalt.php on line 5

Warning: include() [function.include]: Failed opening 'http://jessy.bplaced.net/gb1/guestbook.php' for inclusion (include_path='.:/etc/php/lib') in /users/jessy/www/Little_Kitten/inhalt.php on line 5



Geschrieben von Katharina Weber am 12.04.2009 um 00:23:

 

Bist du dir sicher, dass das mit include geht?
So weit ich weiß ist das doch eigentlich eine Funktion, bei der Informationen aus einer anderen php Datei geholt werden sollen.
So wie das bei dir klingt, willst du das als Link einbauen oder bin ich da jetzt auf dem Holzweg?



Geschrieben von Das Mietzetaze am 12.04.2009 um 03:29:

 

ne fürd als link üer die funktion bezogen siehe hp.

http://jessy.bplaced.net/Little_Kitten/



Geschrieben von .Senseless am 12.04.2009 um 19:18:

 

Du kannst keine externen Seiten includen, also keine Seiten außerhalb deines Bplaced-Accounts.



Geschrieben von Das Mietzetaze am 12.04.2009 um 21:25:

 

ja wobei doch das gb mit auf dem sever liegt weshalbs ja eigendlich gehen müsste.



Geschrieben von .Senseless am 12.04.2009 um 21:27:

 

Alle http-Adressen werden als extern gewertet.
Schreib einfach:

include("gb1/guestbook.php");



Geschrieben von Das Mietzetaze am 12.04.2009 um 21:40:

 

ok werds versuchen danke.

geht leider nich, aber wenn ich das gbook nach dem tut hier auf gb arbeiten würde müsste es gehn oder, prob is nur das ich das gbook bei mir so nach dem tut nich hin bekomme.

habs nu anders gemacht nu zeigts mir zwar so das gbook halbwegs an aber noch net richtig

seite mit gbook
http://jessy.bplaced.net/Little_Kitten/index.php?section=g_book

gbook

http://jessy.bplaced.net/Little_Kitten/gb3/gb.php?

script

<?php
session_start();
// ---------------------------- # Konfiguration # -----------------------------------------------------
$db_host = "localhost"; # Der Datenbank-Host
$db_user = "jessy"; # Der Datenbank-Benutzer
$db_password = "2003"; # Das Passwort für die Datenbank
$db_name = "jessy"; # Der Datenbank-Name

$conn = mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name, $conn) or die (mysql_error());

$passwort = "2003"; # Das Passwort für den Admin
$mailinfo = "ja"; # email bei Eintrag ? ja oder nein
$webmaster = "email@adresse.de"; # wenn bei mailinfo ja steht, dann hier eure email Adresse eintragen
$datum = date("d.m.Y"); # Das aktuelle Datum für den Eintrag wird hier erstellt
$zeit = date("H:i"); # Die aktuelle Zeit für den Eintrag wird hier erstellt
// ---------------------------------------------------------------------------
-------------------------

$action = isset($_GET['action']) ? ($_GET['action']) : "";

// ------------------------------ Admin-Bereich ------------------------------------------ //

# Wenn auf den Logout Link gecklickt wird, wird hier die Session gelöscht
if ($action == "logout"){
session_destroy();
header("refresh:0;url=gb.php");
}

$rang = $_SESSION['rang'];
$pass = strip_tags($_POST['password']);

# Wenn das Admin-Passwort falsch eingegeben wurde erscheint eine Fehlermeldung
if (isset($_POST['submit']) && $pass != $passwort){
echo "Falsches Passwort!";
}

# Wenn das Passwort richtig war, wird der Admin-Rang auf 1 gesetzt und die Session gestartet
else if (isset($_POST['submit']) && $pass == $passwort){
$_SESSION['rang'] = "1";
header("refresh:0;url=gb.php");
}

# --------- Lösch-Funktion ----------- #
if ($action == "delete" && $rang == 1) {
$id = $_GET['id'];

$loeschen = "DELETE FROM gb WHERE id=$id";
mysql_query ($loeschen) or die ("Konnte nicht geloescht werden!!!");
header ("Location: gb.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Gästebuch</title>
<meta name="robots" content="index,follow" />
<meta name="language" content="de" />

<style type="text/css">
body {
font: normal 0.8em verdana, tahoma, 'sans-serif';
color: #000;
background-color: #EFEFEF;
}

.post{
border: 1px solid #808080;
background-color: #FFF;
padding: 5px;
width: 75%;
}

.titel{ border-bottom: 1px solid #EFEFEF; }

.error{ font-weight: bold; color: #A61212; }

span{ font-style:italic; color: #395B7D; }

a {
color: #49565E;
font-weight: bold;
text-decoration: none;
}

a:visited {
color: #63909C;
text-decoration: none;
}

a:hover, a:active {
color: #7EB1C0;
text-decoration: none;
}
</style>
</head>
<body>

<?php
# Wenn auf den Admin-Link gecklickt wird, wird hier das Login-Feld erzeugt
if ($action == "gbadmin"){?>
<strong>Passwort:</strong>
<form action="" method="post">
<input name="password" type="password" /> <input type="submit" name="submit" value="login" />
</form>
<?php
}

# Hier wird abgefragt, ob rang=1 ist. Wenn ja, wird hier die Kommentierfunktion für den Eintrag aufgerufen
if($rang==1) {

$id = strip_tags($_GET['id']);

if($action == "kommentieren") {
echo "<h3>Eintrag Nr. $id kommentieren</h3>";
echo "<form name='kommentar' method='post' action='gb.php?action=speichern&amp;id=$id'>
<textarea cols='55' rows='10' name='kommentar'></textarea><br />
<input type='submit' value='speichern' title='Kommentar speichern' name='komment' />
</form>"; }

if($action == "speichern") {
$kommentar = mysql_real_escape_string($_POST['kommentar']);

# Und hier wird dann der Kommentar zu dem GB Eintrag in der DB gespeichert.
$sql= "UPDATE gb SET kommentar = '$kommentar' WHERE id = '$id'";
mysql_query ($sql) or die ("Das Schreiben ist gescheitert!");
}
}
?>

<div align="left">
<a href="gb.php?action=reintragen">Ins Gästebuch eintragen</a>
<?php if($rang==1) { echo '<a href="gb.php?action=logout">Logout</a>'; } ?>
</div>
<br />

<?

# Wenn der Link zum Eintragen ins GB geklickt wird, wird das Formular zum eintragen angezeigt
if($action == "reintragen") {

if (isset($_POST['los'])){ # wenn auf Abschicken geklickt wurde

#--- Eingaben prüfen und ersetzen ---#
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$hp = mysql_real_escape_string($_POST['hp']);
$msg = mysql_real_escape_string($_POST['msg']);
$spam = mysql_real_escape_string($_POST['spam']);

# Wenn Feld Name und Nachricht nicht leer sind, und Spamfrage eichtig beantwortet wurde, dann speichern...
if ($name != "" && $msg != "" && $spam == "blau") {

# Wenn Feld Homepage leer, dann schreiben: www.keine-angegeben.de
if ($hp == "") {
$hp = "http://www.keine-angegeben.de";
}

# Hier wird geprüft ob die homepage mit oder ohne http:// eingegeben wurde.
if (strtolower(substr($hp, 0, 7)) == "http://"){
# Wenn ja, Feld so wie ist abspeichern
$hp = "$hp";
}else {
# Wenn nicht, soll er das "http://" manuell hinzufügen
$hp = "http://$hp";
}
$ip = $_SERVER['REMOTE_ADDR']; # IP-Adresse ermitteln

$msg = trim($msg);
$msg = preg_replace('/(\s{4})\s+/', '\1', $msg);
$msg = preg_replace('~(.)(\1){4,}~', '\1\1\1\1', $msg);
$name = preg_replace('/(\s{4})\s+/', '\1', $name);
$name = preg_replace('~(.)(\1){4,}~', '\1\1\1\1', $name);

# --- Und hier speichern wir in die Datenbank --- #

$schreiben = "INSERT INTO gb (id, name, email, hp, msg, ip, date, time)
VALUES ('', '$name', '$email', '$hp', '$msg', '$ip', '$datum', '$zeit')";
$results= mysql_query ($schreiben) or die ("Das Schreiben ist gescheitert!");

if ($results){
# Wenn oben bei mailinfo ja gewählt wurde, wird nach dem speichern eine email geschickt!
if ($mailinfo == "ja"){

# Betreffzeile für die EMail
$betreff = "GB Eintrag";

# Name und Nachricht des Eintrages für die Mail
$body = "Es gibt einen neuen Eintrag im GB:\nName: $name Nachricht: $msg";

# Hier wird die Mail versendet und zusammengesetzt
mail("$webmaster","$betreff","$body\n");
}
$go= 1;
echo 'Vielen Dank fuer Ihren Eintrag ...';

}else{ echo 'Fehler beim Eintragen...';}

}else{ # wenn nicht alle Pflichtfelder ausgefuellt wurden
echo '<p class="error">Bitte alle mit * gekennzeichneten Felder ausf&uuml;llen!</p>';
}
} // close submit

if ($go!= 1){
?>
<form action="" method="post" id="eingabe">

<input type="text" name="name" size="20" /> <label for="name">Name</label>* <br />
<input type="text" name="email" size="20" /> <label for="email">E-Mail</label> *<br />
<input type="text" name="hp" size="20" /> <label for="website">Homepage</label><br />

<textarea cols="55" rows="10" value="msg" name="msg"></textarea>

<p>Spamschutzfrage *<br />
<b>Welche Farbe haben Schl&uuml;mpfe?</b> Antwort:
<input size="4" name="spam" type="text" />

</p>

<input type="submit" value="Abschicken" title="Eintrag machen" name="los" />&nbsp;
<input type="reset" title="Felder leeren" value="Zuruecksetzen" name="stop" /></td>
<br />
<p> mit * gekennzeichnete Felder m&uuml;ssen ausgef&uuml;llt werden</p>
<br />
<br /></form>
<?php
}
} // close reintragen

#--- Datenbank auslesen und anzuzeigende Seiten festlegen ---#

$proseite = 3; // Wieviele Einträge pro Seite anzeigen?

if(!isset($_REQUEST["seite"])) {
$seite = 0;
} else {
$seite = $_REQUEST["seite"];
}
$count = 0;
$abfrage = "SELECT id FROM gb";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)) {

if($count%$proseite == 0) {
$aktuelleseite = $count/$proseite+1;
if($count == $seite) {
echo $aktuelleseite." ";
} else {
echo "<a href='gb.php?seite=$count'>".$aktuelleseite."</a> ";
}
}

$count++;
}

echo '<br /><br />';

$result = mysql_query("SELECT * FROM gb ORDER by id DESC LIMIT $seite,$proseite");
while ($zeile = mysql_fetch_array($result)) {

#----------Ausgabe des GB darstellen-------------------------#
# Hier wird schadhafter Code und böse Zeichen ausgemustert
$zeile[1] = htmlspecialchars($zeile[1], ENT_QUOTES);
$zeile[5] = htmlspecialchars($zeile[5], ENT_QUOTES);
$zeile[3] = htmlspecialchars($zeile[3], ENT_QUOTES);
$zeile[5] = wordwrap($zeile[5], 40, ' ', 1);
$zeile[5] = nl2br($zeile[5]);
?>
<div class="post">

<div class="titel">
<?php echo $zeile[0] ?> - <a target="blank" href="<?php echo $zeile[4] ?>"><?php echo $zeile[1] ?></a>
schrieb am <?php echo $zeile[6] ?> um <?php echo $zeile[7] ?> Uhr
<?php if($rang==1) { // Nur anzeigen fuer Admin
echo "IP: $zeile[2] | <a href='gb.php?action=delete&amp;id=$zeile[0]'>l&ouml;schen</a> | <a href='gb.php?action=kommentieren&amp;id=$zeile[0]'>kommentieren</a>" ;
} ?>
</div>

<p><?php echo $zeile[5] ?></p>

<?php if($zeile[8] != "") {
echo"<div class='kommentar'>Kommentar:<br /> \n
<span>$zeile[8]</span>\n </div>\n"; }?>

</div>
<br />
<?php
}
#--------------- ENDE AUSGABE ---------------#


#------- Beiträge zählen die in der Datenbank gespeichert wurden -------#
$count_msgs = 0;
$l = "SELECT id FROM gb ORDER BY id DESC";
$dbr = mysql_query ($l);
while ($t = mysql_fetch_array ($dbr))
{ $count_msgs++; }
echo "<br />Es sind <strong>$count_msgs</strong> Beitr&auml;ge im G&auml;stebuch vorhanden";

# Datenbankverbindung schließen.
mysql_close();
?>
<br /><br />
<a href="gb.php?action=gbadmin">Admin</a>

</body>
</html>



Geschrieben von victor am 14.04.2009 um 19:18:

 

Du meinst deswegen?

Zitat:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/jessy/www/Little_Kitten/index.php:6) in /users/jessy/www/Little_Kitten/gb3/gb.php on line 2


Du hast in der gb.php ein session_start(). Das geht nur ganz am Anfang, bevor du HTML an deinen Besucher schickst. Also entweder baust du das session_start() direkt in die Index-Datei und nimmst es in der gb.php raus (dürfte das einfachste sein) oder du sagst dem Server auch ganz am Anfang, dass er gefälligst nix schicken soll, bevor alles fertig ist (mit ob_start() ). großes Grinsen

PS: Letzteres geht natürlich nur, wenn du "außen" nicht eh schon eine Session verwendest - zwei auf einmal gehen nicht.



Geschrieben von Das Mietzetaze am 14.04.2009 um 19:49:

 

thx. nu is schon ma einfehler beseitigt so das es richtig angezeigt wird

nur funktionierts bloss noch nich wen ich auf ins gästebuch eintragen oder admin klicke.



Geschrieben von victor am 16.04.2009 um 00:17:

 

Ach sooo, sag das doch Zunge raus
Gute Fehlerbeschreibung ist alles! großes Grinsen

Die gb.php geht von einem bestimmten Arbeitsverzeichnis aus. Mach mal vor das inlcude ein chdir("gb3"); dann sollte das gehen. ^^



Geschrieben von Das Mietzetaze am 16.04.2009 um 02:47:

 

geht leider immer noch nich und zeigt nach wie vor wen ich auf eintragen oder admin geh error 404 an.

is es vileicht auch möglich das das ganze was mit den from befehlen etwas zu tun hatt?



Geschrieben von victor am 17.04.2009 um 10:45:

 

Äähhh, sorry, mein letzter Beitrag war Blödsinn. Das Script geht tatsächlich von seinem Arbeitsverzeichnis aus, aber es geht ja um HTML-Links, da ist das PHP-Arbeitsverzeichnis egal. Das betrifft natürlich auch die <form>-Tags, richtig. ^^ Die einfachste Lösung wäre sicher, du verschiebst das Gästebuch ins gleiche Verzeichnis wie den Rest der Seite (also direkt in Little_Kitten statt in Little_Kitten/gb3). Wäre das machbar?



Geschrieben von Das Mietzetaze am 17.04.2009 um 19:46:

 

funktioniert nur das das gestebuch nu wenn ich da auf die darinn entahltenen links klicke noch nich im seiten layout eingebaut erscheind.
sonden auf ner normalen extra seite.



Geschrieben von Das Mietzetaze am 19.04.2009 um 10:59:

 

schiebtzzz...



Geschrieben von victor am 19.04.2009 um 18:06:

 

War die letzten Tage nicht hier bei gb, sorry. ^^
Dieses Feature ist in deinem Script einfach nicht drin. Du musst dir also eine Seite in deinem Layout basteln und die Funktionen des Gästebuchs da einbinden. Das geht natürlich auch andersrum - du kannst auch die Seiten des Gästebuchs nehmen und die da deine Umgebung per include einbinden. Was davon sinnvoller ist, hängt davon ab, die du deine Website intern aufgebaut hast.



Geschrieben von Das Mietzetaze am 19.04.2009 um 18:49:

 

dann bleibt blos noch die frage wie krieg ich das ganze in mein lay rein bestht ja aus ner tabelle und mein erster fersuchs da rein zu packen is kläglich gescheitert.



Geschrieben von victor am 19.04.2009 um 21:10:

 

Im Prinzip genauso wie du auch die Hauptseite des Gästebuchs schon in dein Layout verpackt hast. Wobei du dabei seeeeehr ungültiges HTML erzeugt hast. Wenn du was mit include einfügst, sollte die eingefügte Datei natürlich möglichst kein komplettes HTML-Gerüst mit DOCTYPE und <html>-Tag erzeugen. großes Grinsen

Wie du das am Besten machst, hängt, wie gesagt, davon ab, wie du deine Site intern aufgebaut hast. Ich würde die paar GB-Dateien einfach so umschreiben, dass sie in meine Struktur passen und sie dann einbinden.



Geschrieben von Das Mietzetaze am 20.04.2009 um 21:42:

 

könntest du mir das evtl. so machen das es geht, wenn ich dir en code von der index seite rein stell.

ih hab nämmlich eigentlich so null ahnung von php nämlich gleich garkeine, und bei tuts muss ich auch immer erst gucken das ichs kapier.
kommt da nur mir komplet fertigen codes klar.

und das html verpfuscht er immer wenn ichs vom editor ins frontpage kopier und wieder zurück für die zwischen ansicht um net jedesmal uploaden zu müssen zum ansehen.



Geschrieben von victor am 22.04.2009 um 20:05:

 

Wenn Frontpage das ganze ungültige HTML erzeugt, würde ich es absetzen - dringend. Augenzwinkern
Ich kann das prinzipiell machen - kann aber ein Weilchen dauern, bis ich dazu komme. Du müsstest mit einen FTP-Zugang o.Ä. geben, damit ich den Code testen kann - abwechselnde Postings von Codes und Fehlerbeschreibungen sind mir echt zu umständlich. Ob du das willst, ist natürlich auch eine (Sicherheits-)Überlegung wert. xD



Geschrieben von Das Mietzetaze am 25.04.2009 um 11:01:

 

wär jetzt net des problem schick das ganze eben mal per pn.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH