WoH Board: Anime & Hentai Forum

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Frage] PHP hilfe

NarutoXD

Stamm User
Hallo ^^

ich hab ein kleines problem ^^
das script soll dazu dienen das ein datensatz in meine mysql datenbank kommt.
der code müsste soweit stimmt aber irgend was muss fehlen....
naja die angeben zu host und pw fehlen bewusst.
aber der code scheint wie gesagt zu gehen, da ich kein fehler bekomme also wird es was sein wo übersehe...
man sieht den wald vor lautern bäumen nicht und so ^^

Sagt es geht aber kein neuer datensatz da...

PHP:
	$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
	mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen."); 
	$name = $_POST["name"];
	$bänderae = $_POST["bänderae"];
	$bänderab = $_POST["bänderab"];
	$bänderaf = $_POST["bänderaf"];
	$preis = $_POST["preis"];
	$bänderdf = $_POST["bänderdf"];
	$verlag = $_POST["verlag"];
	
	readfile('header.html');
	if ('POST' == $_SERVER['REQUEST_METHOD']) {
	    if (!isset($_POST['name'], $_POST['bänderae'], $_POST['bänderab'], $_POST['bänderaf'], $_POST['preis'], $_POST['bänderdf'], $_POST['verlag'])) {
        die ('Benutzen sie nur Formulare von der Homepage.');
    }
    if (('' == $name = trim($_POST['name'])) or 
            ('' == $bänderae = trim($_POST['bänderae'])) or
            ('' == $bänderab = trim($_POST['bänderab'])) or
			('' == $bänderaf = trim($_POST['bänderaf'])) or
			('' == $preis = trim($_POST['preis'])) or
			('' == $bänderdf = trim($_POST['bänderdf'])) or
			('' == $verlag = trim($_POST['verlag']))) 
			{
        die ('Bitte füllen sie das Formular vollständig aus.');
    }
    $sql = 'INSERT INTO
                mangal(name, bänderae, bänderab, bänderaf, preis, bänderdf, verlag)
            VALUES
                ("$name", "$bänderae", "$bänderab", "$bänderaf", "$preis", "$bänderdf", "$verlag")';
    $stmt = $db->prepare($sql);
    if (!$stmt) {
        die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
    }
	echo '<p class="info">Mangalisteneintrag hinzugefügt. <a href="mangal3.php">Zurück zur Mangalist</a>.</p>';
	}
	readfile('formular.html');
	readfile('footer.html');
?>

naja ich danke schon mal ^^
 
da ich dein script nicht kenne:
sicher dass $_POST das richtige hier ist?

umlaute zu verwenden ist extrem scheisse. das solltest noch abändern.

post dein formular mal mit dazu
 
das mit dem umlauten ist ein ne schlecht angewohnheit von mir ^^'''

umlaute hab ich raus.....


HTML:
<form action="mangal3.php" method="post">
    <fieldset>
        <legend>Neue Serie</legend>
        <table border="1">
		<tr><td><label>Name:</td><td><input type="text" name="name" /></label></td></tr>
        <tr><td><label>BA:</td><td><input type="text" name="bänderae" /></label></td></tr>
		<tr><td><label>BAiB:</td><td><input type="text" name="bänderab" /></label></td></tr>
		<tr><td><label>BAdF:</td><td><input type="text" name="bänderaf" /></label></td></tr>
		<tr><td><label>Preis:</td><td><input type="text" name="preis" /></label></td></tr>
		<tr><td><label>BdF:</td><td><input type="text" name="bänderdf" /></label></td></tr>
		<tr><td><label>Verlag:</td><td><input type="text" name="verlag" /></label></td></tr>
        <tr><td colspan="2"><input type="submit" name="formaction" value="Eintragen" /></td></tr>
		</table>
    </fieldset>
</form>
 
kk.
dann würd ich mal sagen:
PHP:
$stmt->execute()
fehlt ;P


bsp:
PHP:
$sql = 'DELETE FROM Rechteliste WHERE ID = ?';

if (!$stmt = $db->prepare($sql)) {
    return $db->error;
}
if (!$stmt->execute()) {
    return $stmt->error;
}
$stmt->close();
 
danke ^^

naja das einzige was ich bis jetzt in php gemacht hab ist nur eine anzeige von datensätze...

nur bekommt jetzt prepare ein error wegen ein non-objekt....
 
k

du hast den strichpunkt nach der Anweisung gemacht?
und erst ein prepare und dann ein execute ^^



Anders geht z.b. auch so:
PHP:
// Aufbau der Datenbankverbindung 
$connectionid  = mysql_connect ("host", "user", "pw"); 
if (!mysql_select_db ("database", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

// SQL-Anweisung erstellen 
  $sql = "INSERT INTO ".
    "benutzerdaten (Nickname, Kennwort, bla, blub) ".
  "VALUES ('".$value["Nickname"]."', '".
                       md5 ($value["Kennwort"])."', '', '')"; 
  mysql_query ($sql); 

  if (mysql_affected_rows ($connectionid) > 0) 
  { 
    echo "Benutzer erfolgreich angelegt.<br>\n"; 
  } 
  else 
  { 
   echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
  }

das geht auch und ist etwas einfacher zu verstehen.

edit
$value ist ein 2-dimensionales array. daher der Aufruf mit den []
einfach das komplett durch normales ersetzten und gut ist ^^
 
Zuletzt bearbeitet:
gut.
dein mysqli sollte das query auch kennen.
umgekehrt aber nicht ;P
daran hab ich gar nicht mehr gedacht ^^
 
Zurück
Oben