• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Lokal funktioniert es, aber auf funpic.de nicht

Status
Für weitere Antworten geschlossen.

philipp

Neues Mitglied
ja, dieses script funktioniert auf meinem lokalen PC aber wenn ichs auf funpic lade dann nicht mehr...
(edit: bekomme einfach keine resultate [ www.art-factory.at ] )
Code:
<h1>G&auml;stebuch</h1>
<?php
//Mit MySQL verbinden ...
include 'connect.inc.php';
//Auf Eingaben pruefen
	if ( isset($_POST['entrie'], $_POST['name']) ) {
			//Eintrag in die Datenbank speichern
			//SQL zusammenstellen
			$sql = "INSERT INTO `gbentries` SET
			`gbentries_name` = '".$_POST['name']."', 
			`gbentries_email` = '".$_POST['email']."', 
			`gbentries_entrie` = '".$_POST['entrie']."', 
			`gbentries_date` = NOW()";
			$res = @mysql_query($sql);
				if ( $res ) {
				echo "

Eintrag erfolgreich hinzugef&uuml;gt.</p> \n";
				} else {
				echo "

Eintrag konnte nicht hinzugef&uuml;gt werden.</p> \n";
				}
			}
	include 'gbform.inc.php';
	//SQLs zusammenstellen
	$countentries = mysql_fetch_array(@mysql_query("SELECT COUNT(gbentries_ID) as anzahl FROM `gbentries`"));
	$anzahlseiten = ceil((int)$countentries['anzahl']/7);
	if ( isset($_GET['seite']) ) { $seite = $_GET['seite']-1; } else { $seite = 0; }
	if ( $seite == 0 ) { $vonentrie = 1; } else { $vonentrie = $seite * 7; }
	$sql = "SELECT * FROM `gbentries` ORDER BY `gbentries_date` DESC LIMIT ".$vonentrie.", 7";
	$res = @mysql_query($sql);
		while ( $entrie = mysql_fetch_array($res) ) {
		?>
		<table cellspacing="0px" cellpadding="0px" width="100%">
			<tr>
				<td class="lefti">[img]img/spacer.gif[/img]</td>
				<td class="centeri"><p align="left">[url="mailto:<?php echo $entrie['gbentries_email']; ?>"]<?php echo $entrie['gbentries_name']; ?>[/url] schreibt am: <?php echo $entrie['gbentries_date']; ?></p></td>
				<td class="righti">[img]img/spacer.gif[/img]</td>
			</tr>
		</table>
		

<?php $entriecontent = nl2br(htmlentities($entrie['gbentries_entrie'])); echo $entriecontent; ?></p>
		<hr />
		<?php
		}
		echo "

Seite: ";
			for ( $i = 1; $i <= $anzahlseiten; $i++ ) {
				if ( $i == $seite+1 ) {
				echo '<span class="activegb">'.$i.'</span> |';
				} else {
				echo  '[url="index.php?go=GB&seite='.$i.'"]'.$i.'[/url] | ';
				}
			}
		echo "</p>";
?>
 
du solltest auch das aufruf-sql ($sql = ...) nicht als variable schreiben, sondern direkt in die mysql_fetch_array einbinden.

Nils aka XraYSoLo
 
1. der singular von entries is uebrigens entry ^_^ schoenes Pseudo Englisch
2. sehe ich aber resultate unter "gästebuch".
 
1) kann nix dafür dass ich nicht gut englisch kann :D

2) und warum gehts jetzt? keine ahnung, war nu kurz fernsehen und schon gehts.

3)
du solltest auch das aufruf-sql ($sql = ...) nicht als variable schreiben, sondern direkt in die mysql_fetch_array einbinden.

das wäre fatal!

dann würde das ne endlosschleife werden, ich weiss das aus erfahrung
 
3)
ja ich versteh allerdings auch ueberahupt nicht was herr xray uns da sagen will - alleine fuer debug zwecke ist ne eigene variable dafuer recht nuetzlich
 
so es is doch nicht richtig... wenn ich alle entries ( :D ) bis auf einen lösche, dann wird nix angezeigt. wenn ich dann was poste, dann wird nur einer von den beiden angezeigt. immer anders... voll komisch.

es sind zz 2 einträge gespeichert und nur einer wird angezeigt.

unverständlich, hat aber was mit dem limit zu tun...

wow gerade beim tippen kommts mir jetz. in meiner mysql version wird der erste eintrag mit ID1 addressiert und in der, die auf dem server läuft mit ID0.

alles klar.... problem is dann gelöst, aber thread bitte offen lassen, vielleicht passiert ja wieder was :D
 
[php:1:009553ae04]<?php
//Auszug aus dem quellcode meines gästebuchs

$db_select = @mysql_select_db($db_name, $conn);

$result = @mysql_query("SELECT * FROM `xray_book` WHERE `lock`='0' ORDER BY ID DESC") or die ("Process was killed");

while($row = mysql_fetch_array($result)) {
//anweisungen
}
?>[/php:1:009553ae04]

und das funktioniert einwandfrei.

Nils aka XraYSoLo
 
du hast es aber anders beschrieben zuerst. du hast es so ausgedrückt:

while ( $row = mysql_fetch_array(@mysql_query("......") ) {
//Anweisung
}

so würde es nicht gehen.

aber so wie du jetzt meinst... is ghupft-wie-ghatscht ;)
 
xray was sollen die dummen @ vor den befehlen? fehler fängt man doch sowieso ab :)

[und ausserdem erlaubt es die variante mit der variablen dann auch den exakten sql befehl einfach in einem log zu speichern]
 
hab jetz ein anderes problem. beim umzug von funpic.de zu serverftp.net is was schiefgegangen.. mein newsscript geht nicht mehr ^^

also der betroffene teil:

Code:
			$sql = "INSERT INTO `news` SET 
			`news_headline` = '".$_POST['headline']."', 
			`news_content` = '".$_POST['content']."', 
			`news_admin` = '".$_POST['author']."', 
			`news_date` = CURDATE()";
			$res = @mysql_query($sql);
				if ( $res ) {
				echo "

News erfolgreich eingetragen.</p> \n";
				} else {
				echo "

Fehler beim eintragen der News.</p> \n";
				}
das problem: ich bekomme immer die fehlermeldung...
das ganze script: (is rel. lang)

Code:
<?php
//Verbinden mit Mysql
include 'connect.inc.php';
//Zuerst wird geprueft ob news geloescht werden sollen
	if ( isset($_GET['delnews']) ) {
	//News loeschen
		//SQL zusammenstellen
		$sql = "DELETE FROM `news` WHERE `news_ID`= '".$_GET['delnews']."' LIMIT 1";
		$res = @mysql_query($sql);
		//Loeschen des Datensatzes
			if ( $res ) {
			echo '

Datensatz '.$_GET['delnews'].' erfolgreich aus Datenbank gel&ouml;scht.</p>'."\n";
			} else {
			echo '

Konnte den Datensatz '.$_GET['delnews'].' nicht l&ouml;schen.</p>'."\n";
			}
	} elseif ( $_GET['mind'] == 'delnews' ) {
	//Liste der News fuer loeschen erstellen
		//SQL zusammenstellen
		$sql = "SELECT `news_ID`, `news_headline`, LEFT(`news_content`, 25) as 'auszug' FROM `news` ORDER BY `news_date` DESC";
		$res = @mysql_query($sql);
		$newscount = mysql_fetch_array(@mysql_query("SELECT COUNT(news_ID) AS anzahl FROM `news`"));
			if ( $newscount['anzahl'] < 1 ) {
			echo "

Keine News verf&uuml;gbar.</br> \n";
			} else {
				//Liste erzeugen
				?>
				<table cellspacing="3px" cellpadding="3px" class="datenblattTD">
					<tr>
						<th align="left">

ID</p>	</th>
						<th align="left">

&Uuml;berschrift</p></th>
						<th align="left">

Inhaltsauszug</p></th>
						<th align="left">

L&ouml;schen</p></th>
					</tr>
				<?php
				while ( $row = mysql_fetch_array($res) ) {
				?>
				<tr>
					<td align="left">

<?php echo $row['news_ID']; ?></p></td>
					<td align="left">

<?php echo $row['news_headline']; ?></p></td>
					<td align="left">

<?php echo $row['auszug']; ?>...</p></td>
					<td align="left">

[url="index.php?go=newsbase&delnews=<?php echo $row['news_ID']; ?>"]Klick[/url]</p></td>
				</tr>
				<?php
				}
				?>
				</table>
			<?php
			}
	} elseif ( $_GET['mind'] == 'makenews' ) {
	//News schreiben
	?>
	<form action="index.php?go=newsbase&makenews=1" method="post" enctype="multipart/form-data">
	<fieldset>
	<legend>News einreichen</legend>
		

Headline:

		<input type="text" name="headline" /></p>
		

Autor:

		<input type="text" name="author" value="Webmaster" /></p>
		

Bild: (nicht notwendig)

		<input type="file" name="newsbild" /></p>
		

Inhalt:

		<textarea name="content" cols="40" rows="10"></textarea></p>
		

<input type="submit" value="Einreichen" /></p>
	</fieldset>
	</form>
	<?php
	} elseif ( $_GET['mind'] == 'updatenews' ) {
	//SQL zusammenstellen
		$sql = "SELECT `news_ID`, `news_headline`, LEFT(`news_content`, 25) as 'auszug' FROM `news` ORDER BY `news_date` DESC";
		$res = @mysql_query($sql);
		$newscount = mysql_fetch_array(@mysql_query("SELECT COUNT(news_ID) AS anzahl FROM `news`"));
			if ( $newscount['anzahl'] < 1 ) {
			echo "

Keine News verf&uuml;gbar.</br> \n";
			} else {
				//Liste erzeugen
				?>
				<table cellspacing="3px" cellpadding="3px" class="datenblattTD">
					<tr>
						<th align="left">

ID</p>	</th>
						<th align="left">

&Uuml;berschrift</p></th>
						<th align="left">

Inhaltsauszug</p></th>
						<th align="left">

Bearbeiten</p></th>
					</tr>
				<?php
				while ( $row = mysql_fetch_array($res) ) {
				?>
				<tr>
					<td align="left">

<?php echo $row['news_ID']; ?></p></td>
					<td align="left">

<?php echo $row['news_headline']; ?></p></td>
					<td align="left">

<?php echo $row['auszug']; ?>...</p></td>
					<td align="left">

[url="index.php?go=newsbase&updatenews=<?php echo $row['news_ID']; ?>"]Klick[/url]</p></td>
				</tr>
				<?php
				}
				?>
				</table>
			<?php
			}
	}  elseif ( isset($_GET['updatenews']) ) {
		//Formular zu News updaten erstellen
		//Datensatz zum updaten aus Datenbank auslesen
		$sql = "SELECT * FROM `news` WHERE `news_ID` = '".$_GET['updatenews']."'";
		$res = mysql_fetch_array(@mysql_query($sql));
		?>
		<form action="index.php?go=newsbase&submitupdated=1" method="post" enctype="multipart/form-data">
			<fieldset>
				<legend>News updaten</legend>
				

Headline:

				<input type="text" name="headline" value="<?php echo $res['news_headline']; ?>" /></p>
				

Autor:

				<input type="text" name="author" value="<?php echo $res['news_admin']; ?>" /></p>
				

Bild: (nicht notwendig)

				<input type="file" name="newsbild" /></p>
				

Inhalt:

				<textarea name="content" cols="40" rows="10"><?php echo $res['news_content']; ?></textarea></p>
				

<input type="hidden" name="id" value="<?php echo $_GET['updatenews']; ?>" /><input type="submit" value="Einreichen" /></p>
			</fieldset>
		</form>
		<?php
	} elseif ( isset($_GET['submitupdated']) ) {
	//Upgedatete News hochladen
		//Auf Eingaben pruefen
		if ( isset($_POST['headline'], $_POST['content']) ) {
			//Pruefen ob Bild hochgeladen wurde
			if ( $_FILES['newsbild']['tmp_name'] ) {
			//Bild umbenennen, Bild hochladen, News samt img-url in Datenbank eintragen
			$sql = "SELECT COUNT(`news_ID`) as anzahl FROM `news";
			$anzahl = mysql_fetch_array(@mysql_query($sql));
			$bildname = $_POST['id'];
			$bildparts = pathinfo($_FILES['newsbild']['name']);
			$bildaendung = $bildparts['extension'];
			$path =  'img/newspics/'.$bildname.'.'.$bildaendung;
			move_uploaded_file($_FILES['newsbild']['tmp_name'], $path);
			$sql = "UPDATE `news` SET
			`news_headline` = '".$_POST['headline']."', 
			`news_img` = '".$path."', 
			`news_content` = '".$_POST['content']."', 
			`news_admin` = '".$_POST['author']."'
			WHERE `news_ID` = '".$_POST['id']."'";
			$res = mysql_query($sql);
				if ( $res ) {
				echo "

News erfolgreich upgedated.</p> \n";
				} else {
				echo "

Fehler beim updaten der News.</p> \n";
				}
			} else {
			//News in Datenbank eintragen
			//SQL zusammenstellen
			$sql = "UPDATE `news` SET
			`news_headline` = '".$_POST['headline']."', 
			`news_content` = '".$_POST['content']."', 
			`news_admin` = '".$_POST['author']."'
			WHERE `news_ID` = '".$_POST['id']."'";
			$res = mysql_query($sql);
				if ( $res ) {
				echo "

News erfolgreich upgedated.</p> \n";
				} else {
				echo "

Fehler beim updaten der News.</p> \n";
				}
			}
		}
	} elseif ( isset($_GET['makenews']) ) {
	//News in Datenbank eintragen
		//Auf Eingaben pruefen
		if ( isset($_POST['headline'], $_POST['content']) ) {
			//Pruefen ob Bild hochgeladen wurde
			if ( $_FILES['newsbild']['tmp_name'] ) {
			//Bild umbenennen, Bild hochladen, News samt img-url in Datenbank eintragen
			$sql = "SELECT COUNT(`news_ID`) as anzahl FROM `news";
			$anzahl = mysql_fetch_array(@mysql_query($sql));
			$bildname = (int)$anzahl['anzahl']+1;
			$bildparts = pathinfo($_FILES['newsbild']['name']);
			$bildaendung = $bildparts['extension'];
			$path =  'img/newspics/'.$bildname.'.'.$bildaendung;
			move_uploaded_file($_FILES['newsbild']['tmp_name'], $path);
			$sql = "INSERT INTO `news` SET
			`news_headline` = '".$_POST['headline']."', 
			`news_img` = '".$path."', 
			`news_content` = '".$_POST['content']."', 
			`news_admin` = '".$_POST['author']."', 
			`news_date` = CURDATE()";
			$res = mysql_query($sql);
				if ( $res ) {
				echo "

News erfolgreich eingetragen.</p> \n";
				} else {
				echo "

Fehler beim eintragen der News.</p> \n";
				}
			} else {
			//News in Datenbank eintragen
			//SQL zusammenstellen
			$sql = "INSERT INTO `news` SET 
			`news_headline` = '".$_POST['headline']."', 
			`news_content` = '".$_POST['content']."', 
			`news_admin` = '".$_POST['author']."', 
			`news_date` = CURDATE()";
			$res = mysql_query($sql);
				if ( $res ) {
				echo "

News erfolgreich eingetragen.</p> \n";
				} else {
				echo "

Fehler beim eintragen der News.</p> \n";
				}
			}
		}
	} else {
	//NewsBaseMenue
	?>
	<h2>News-Base</h2>
	


		<ul>
			[*][url="index.php?go=newsbase&mind=makenews"]News verfassen[/url]
			[*][url="index.php?go=newsbase&mind=delnews"]News l&ouml;schen[/url]
			[*][url="index.php?go=newsbase&mind=updatenews"]News bearbeiten[/url]
		[/list]
	</p>
	<?php
	}
?>
 
Code:
Fehlercode: 1062 Fehler: Duplicate entry '0' for key 1 SQL-Befehl: "INSERT INTO `news` SET `news_headline` = 'Wieder umgezogen', `news_content` = 'Test', `news_admin` = 'Webmaster', `news_date` = CURDATE()"

versteh ich ned, ich habs doch auf auto-increment ^^

edit:
das autoincrement wurd nicht übernommen beim import.

naja, danke jedenfalls
 
auto_increment muss aber auch erweitert werden.

[php:1:da9b437584]<?php
das leere ist für auto_increment
$sql = INSERT INTO testtable ('', 'name', 'text');
?>[/php:1:da9b437584]

Nils aka XraYSoLo
 
xraysolo darum ging es sowas von ueberhaupt nicht ^_^
ausserdem gibt man die spaltenamen mit an!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben