Verschiedene Fragen

Oder doch nicht :susp:

<table>
<?php
$eventzeug = "SELECT * FROM `veranstaltungen` ORDER BY `id` DESC";
$eventzeug = mysql_query($eventzeug);

while( $row = mysql_fetch_assoc($eventzeug))
   echo "<tr><td>$row[titel]</td><td><a href='delete_event.php?id={$row[id]}'>L&ouml;schen</a></td></tr>";
?>
</table>

Habs auch schön Angepasst o_O alles auf meins…

Gewoehne dir an, nach jeder Operation, die du auf der Datenbank ausfuehrst, mysql_error() auszuwerten.

Er macht doch aber gar keine Aktion bei dem Fehler :stress:

Komm mir bitte nicht mit duemmlichen Smilies, sondern schau dir im Handbuch an, wozu die Funktion gut ist - naemlich damit die Datenbank dir sagen kann, was an deinem Statement fehlerhaft war.

Die Funktion liefert noch einen Fehler mehr !coffee eigentlich wollte ich ja wissen warum er mit dem Fehler kommt obwohl ich von michi7x7 die Berichtige Version reingemacht hab o.0

Und welcher das ist, das verschweigst du uns natuerlich - hast du fein gemacht, waere bestimmt eine zu grosse seelische Belastung fuer uns …

(Falls du Ironie ebensogut erkennen, wie selbststaendig programmieren kannst, noch mal im Klartext: Teile uns gefaelligst mit, welchen Fehler du bekommst!)

Nichts leichter als das :slight_smile::

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /users/sirzimt/www/page/admin/site/dark/events.php on line 102

Jetzt waere noch interessant zu wissen, an welcher Stelle du mysql_error eingebaut hast.

Aber eine MySQL Link Ressource wollen normalerweise die Funktionen haben, die eine bestehende Datenbankverbindung benoetigen - also vermute ich mal, das bezieht sich hier auf mysql_query.

Und daraus laesst sich dann schliessen, dass du vorher gar keine Verbindung zur Datenbank aufgebaut hast …

<?php
if(@!include('page/admin/include/logged_in.inc.php'))
{
die('Du musst Eingeloggt sein um diese Seite zu Betreten.');
}
?>
<?php require_once('Connections/darkevo.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO veranstalltungen (id, titel, beschreibung, wann) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['titel'], "text"),
                       GetSQLValueString($_POST['beschreibung'], "text"),
                       GetSQLValueString($_POST['wann'], "text"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($insertSQL, $darkevo) or die(mysql_error());
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM veranstalltungen WHERE id=%s",
                       GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($deleteSQL, $darkevo) or die(mysql_error());
}

mysql_select_db($database_darkevo, $darkevo);
$query_eventzeug = "SELECT * FROM veranstalltungen ORDER BY id ASC";
$eventzeug = mysql_query($query_eventzeug, $darkevo) or die(mysql_error());
$row_eventzeug = mysql_fetch_assoc($eventzeug);
$totalRows_eventzeug = mysql_num_rows($eventzeug);
?>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Titel:</td>
      <td><input type="text" name="titel" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Beschreibung:</td>
      <td><textarea name="beschreibung" cols="50" rows="30"></textarea></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Wann:</td>
      <td><input type="text" name="wann" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Eintragen"></td>
    </tr>
  </table>
  <input type="hidden" name="id" value="">
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>
<table>
<?php
$eventzeug = "SELECT * FROM `veranstaltungen` ORDER BY `id` DESC";
$eventzeug = mysql_query($eventzeug);

while( $row = mysql_fetch_assoc($eventzeug))
   echo "<tr><td>$row[titel]</td><td><a href='delete_event.php?id={$row[id]}'>L&ouml;schen</a></td></tr>";
?>
</table>
</p>
<?php
mysql_free_result($eventzeug);
?>
<?php
mysql_error($eventzeug);
?>

Ich hab es an das Ende gesetzt da ich bisher noch kein Kontakt mit MySQL Error gemacht hab :susp:

mysql_error() wird normalerweise so verwenden:

mysql_query("INSERT blablabla...")
   OR die(mysql_error());

Abänderung:

Neuer Fehler:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /users/sirzimt/www/page/admin/site/dark/events.php on line 96

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /users/sirzimt/www/page/admin/site/dark/events.php on line 102
Query was empty

Code:

<?php
if(@!include('page/admin/include/logged_in.inc.php'))
{
die('Du musst Eingeloggt sein um diese Seite zu Betreten.');
}
?>
<?php require_once('Connections/darkevo.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO veranstalltungen (id, titel, beschreibung, wann) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['titel'], "text"),
                       GetSQLValueString($_POST['beschreibung'], "text"),
                       GetSQLValueString($_POST['wann'], "text"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($insertSQL, $darkevo) or die(mysql_error());
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM veranstalltungen WHERE id=%s",
                       GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($deleteSQL, $darkevo) or die(mysql_error());
}

mysql_select_db($database_darkevo, $darkevo);
$query_eventzeug = "SELECT * FROM veranstalltungen ORDER BY id ASC";
$eventzeug = mysql_query($query_eventzeug, $darkevo) or die(mysql_error());
$row_eventzeug = mysql_fetch_assoc($eventzeug);
$totalRows_eventzeug = mysql_num_rows($eventzeug);
?>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Titel:</td>
      <td><input type="text" name="titel" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Beschreibung:</td>
      <td><textarea name="beschreibung" cols="50" rows="30"></textarea></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Wann:</td>
      <td><input type="text" name="wann" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Eintragen"></td>
    </tr>
  </table>
  <input type="hidden" name="id" value="">
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>
<table>
<?php
$eventzeug = "SELECT * FROM veranstaltungen ORDER BY id DESC";
$eventzeug = mysql_query($eventzeug);

while( $row = mysql_fetch_assoc($eventzeug))
   echo "<tr><td>$row[titel]</td><td><a href='delete_event.php?id={$row[id]}'>L&ouml;schen</a></td></tr>";
?>
</table>
</p>
<?php
mysql_free_result($eventzeug);
?>
<?php
$eventzeug = mysql_query($eventzeug) or die(mysql_error());
?>

Was machst du da bitte??? :ps:

Ich wuerde vorschlagen, du schnappst dir jetzt mal ein Tutorial, welches dir die Grundlagen vernuenftig erklaert - und dann gehst du das ganze noch mal logisch und mit Verstand an; und zwar neu und von vorne.

Derzeit machst du naemlich ziemlichen Murks.

Hier zum Beispiel:

[quote]$eventzeug = “SELECT * FROM veranstaltungen ORDER BY id DESC”;
$eventzeug = mysql_query($eventzeug);[/quote]
$eventzeug enthaelt jetzt also eine MySQL-Ressourcenkennung (sofern die Abfrage geklappt hat, sonst false).

Diese Ressourcenkennung (oder false) jetzt noch mal als Parameter fuer mysql_query hernehmen zu wollen - das ist vollkommener Bloedsinn.

Noch ein kleiner anderer Tipp zu deiner Seite. Wie schreibt man denn „Design“? Jedenfalls nicht so: Desing. Das ist überall falsch. !haue

Danke :wink:

Ach und zum Problem… das hat sich bis auf einen Eingeschlichenen Fehler mit der Abfrage Beseitigt:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /users/sirzimt/www/page/admin/site/dark/events.php on line 96

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /users/sirzimt/www/page/admin/site/dark/events.php on line 102
Query was empty

Wobei doch die Tabelle nicht Leer ist :stress: da ist ja ein Test Objekt…

Und wieder den Code:

<?php
if(@!include('page/admin/include/logged_in.inc.php'))
{
die('Du musst Eingeloggt sein um diese Seite zu Betreten.');
}
?>
<?php require_once('Connections/darkevo.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO veranstalltungen (id, titel, beschreibung, wann) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['titel'], "text"),
                       GetSQLValueString($_POST['beschreibung'], "text"),
                       GetSQLValueString($_POST['wann'], "text"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($insertSQL, $darkevo) or die(mysql_error());
}

if ((isset($_GET['id'])) && ($_GET['id'] != "")) {
  $deleteSQL = sprintf("DELETE FROM veranstalltungen WHERE id=%s",
                       GetSQLValueString($_GET['id'], "int"));

  mysql_select_db($database_darkevo, $darkevo);
  $Result1 = mysql_query($deleteSQL, $darkevo) or die(mysql_error());
}

mysql_select_db($database_darkevo, $darkevo);
$query_eventzeug = "SELECT * FROM veranstalltungen ORDER BY id ASC";
$eventzeug = mysql_query($query_eventzeug, $darkevo) or die(mysql_error());
$row_eventzeug = mysql_fetch_assoc($eventzeug);
$totalRows_eventzeug = mysql_num_rows($eventzeug);
?>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Titel:</td>
      <td><input type="text" name="titel" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Beschreibung:</td>
      <td><textarea name="beschreibung" cols="50" rows="30"></textarea></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Wann:</td>
      <td><input type="text" name="wann" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Eintragen"></td>
    </tr>
  </table>
  <input type="hidden" name="id" value="">
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>
<table>
<?php
$eventzeug = "SELECT * FROM veranstaltungen ORDER BY id DESC";
$eventzeug = mysql_query($eventzeug);

while( $row = mysql_fetch_assoc($eventzeug))
   echo "<tr><td>$row[titel]</td><td><a href='delete_event.php?id={$row[id]}'>L&ouml;schen</a></td></tr>";
?>
</table>
</p>
<?php
mysql_free_result($eventzeug);
?>
<?php
$eventzeug = mysql_query($eventzeug) or die(mysql_error());
?>

Ach und an chrisb: Ich lerne nicht durch lesen… ich Lerne indem ich was mache das nennt man in Grundschulsprache „Tu-Lern-Typ“ das heißt ich kann mir nur Sachen merken wo ich mache… lesen bringt bei mir nix !haue

du hängst hinter jeden Query einfach OR die(mysql_error())
und nicht an den Schluss des Quelltextes…

ok :smiley:

Ok… jetzt findet man den Fehler:

Table ‚sirzimt_darkevo.veranstaltungen‘ doesn’t exist

So und nun zu diesem Sicherheitsleg wegen den Rechten…

Er zeigt beides an… Code:

<?php
session_start();
include "config.inc.php";
    $sql="SELECT id, username
    FROM admin_users
    WHERE UserSession='".session_id()."'
    LIMIT 1";
    $result= mysql_query($sql);
    $row = mysql_fetch_assoc($result);
    $userid = $row['id'];
    $name = $row['username'];
	$rechte = $row['rechte'];
	
if (mysql_num_rows($result)!=1)   {
echo '&nbsp;';
}else{

if($rechte != 1) {
echo '<a href="?content=admin&main=admin_index">Startseite</a><br />';
echo '<br />';
echo '<strong>DarkEvolution</strong>';
echo '<br />';
echo '<a href="?content=admin&main=evo&evo=news">News Erstellen</a><br />';
echo '<a href="?content=admin&main=evo&evo=events">Veranstalltungen</a><br />';
echo '<br />';
}
if($rechte != 2) {
echo '<strong>[Fg&sup3;] Sir. Zimt</strong><br />';
echo '<a href="?content=admin&main=zimt&zimt=blog">Blog</a><br />';
echo '<a href="?content=admin&main=zimt&zimt=gastebuch">G&auml;stebuch</a><br />';
echo '<br />';
echo '<strong>DarkEvolution</strong>';
echo '<br />';
echo '<a href="?content=admin&main=evo&evo=news">News Erstellen</a><br />';
echo '<a href="?content=admin&main=evo&evo=events">Veranstalltungen</a><br />';
echo '<br />';
}
echo '<a href="page/admin/include/logout.inc.php"><strong>Logout</strong></a>';

}

Kann mir wer sagen was hier fehlt? :susp:

er zeigt beides an?
Nehmen wir mal an $rechte hat den wert 0 oder den Wert 3.
Dann würde er bei der ersten if abfrage reinrutschen, weil $rechte ungleich 1 ist, und bei der zweiten ebenso, weil $rechte ungleich 2 ist.

Was ich nicht verstehe ist, warum du bei den if-Abfragen immer diese… “umkehrung” nutzt…
zum Beispiel:
Stattif ($rechte!=1) {würde ich eherif ($rechte==2) {verwenden, wenn es nur zwischen 1 und 2 unterschieden werden soll…
nicht dass es einen großen Unterschied machen würde, aber der Logik wegen, finde ich das bisschen übersichtlicher.

Geteiltes Problem:

  1. So hab deinen Rat befolgt und != auf == geändert nun is das passiert:

In Worten: Er zeigt garkeine Navi mehr an :susp: egal welche Rechte Angegeben sind… :susp: oder ruft der die garnicht ab? !haue

  1. Das Anzeigen der Löschlinks für die Events klappt ja jetzt :slight_smile: da gibt es blos ein Problem:

Er löscht durch den Link sie nicht o.0 die Seite bleibt Weiß (was sollte auch kommen groß…) und wenn ich Nachsehe ist das Liebe Einträgchen immer noch an seinem Platz :neutral_face:

Aber doch wohl nicht einfach ohne gross zu ueberlegen ueberall?

An der Stelle, wo du abfragst, wie viele Ergebnisse die Abfrage von Nutzername und Password ergab, waere es ja bspw. vielleicht nicht so clever …

[quote]2. Das Anzeigen der Löschlinks für die Events klappt ja jetzt :slight_smile: da gibt es blos ein Problem:

Er löscht durch den Link sie nicht o.0 die Seite bleibt Weiß (was sollte auch kommen groß…) und wenn ich Nachsehe ist das Liebe Einträgchen immer noch an seinem Platz :neutral_face:[/quote]
Und welche Art der Fehlerbehandlung und Kontrolle des Ablaufes hast du dort eingebaut - vermutlich mal wieder gar keine?