Mysql Aufbau

Hi,

ein script soll benutzer für einen login bereich anlegen. nur leider funktioniert die verbindung nie…
warum?

// Aufbau der Datenbankverbindung $connectionid = mysql_connect ("localhost", "root", ""); if (!mysql_select_db ("pc-x_LoginSystem", $connectionid)) { die ("Keine Verbindung zur Datenbank"); }

mysql_connect (“localhost”, “root”, “bla”);

root= benutzername, dort müsste dein Benutzername rein…
bla=passowrt, da müsste dien passwort rein…

selber fehler script sieht nun wie folgt aus:

[code]<?php
// Session starten
session_start ();

// Datenbankverbindung aufbauen
$connectionid = mysql_connect (“localhost”, “pc-x”, “mein-passwort”);
if (!mysql_select_db (“pc-x_LoginSystem”, $connectionid))
{
die (“Keine Verbindung zur Datenbank”);
}

$sql = "SELECT ".
"Id, Nickname, Nachname, Vorname ".
“FROM “.
“benutzerdaten “.
“WHERE “.
”(Nickname like '”.$_REQUEST[“name”].”’) AND “.
”(Kennwort = '”.md5 ($_REQUEST[“pwd”]).”’)”;
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);

// Sessionvariablen erstellen und registrieren
$_SESSION[“user_id”] = $data[“Id”];
$_SESSION[“user_nickname”] = $data[“Nickname”];
$_SESSION[“user_nachname”] = $data[“Nachname”];
$_SESSION[“user_vorname”] = $data[“Vorname”];

header (“Location: intern.php”);
}
else
{
header (“Location: formular.php?fehler=1”);
}
?> [/code]

Hi,

Hast du die Datenbank bereits angelegt?
Stelle sicher, dass bei select_db das gleiche steht wie bei Benutzername

Die Standard-Datenbank ist gleich deinem Benutzernamen, jede weitere enthält den Benutzeranmen als Präfix (deinname_irgendwas).

hat sich schon erledigt, ich dachte bei benutername, meinen bplaced name, aber da muss ja der mysql name hin !haue

sorry :smiley:

aber nochwas anderes, wie bekomme ich ein registrierungsformular hin, das halt die daten aus dem formular an die datenbank schickt??
ich häte schon einen ansatz:

[code]<?php
// Definition der Benutzer
$benutzer[0][„Nickname“] =„admin“;
$benutzer[0][„Kennwort“] = „admin“;
$benutzer[0][„Nachname“] = „Mustermann“;
$benutzer[0][„Vorname“] = „Max“;

$benutzer[1][„Nickname“] = „test“;
$benutzer[1][„Kennwort“] = „abc“;
$benutzer[1][„Nachname“] = „Kunze“;
$benutzer[1][„Vorname“] = „Martin“;

// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.

// Aufbau der Datenbankverbindung
$connectionid = mysql_connect („localhost“, „pc-x_LoginSystem“, „mein-passwort“);
if (!mysql_select_db („pc-x_LoginSystem“, $connectionid))
{
die („Keine Verbindung zur Datenbank“);
}

// Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen.
mysql_query („DELETE FROM benutzerdaten“);

// Daten eintragen
while (list ($key, $value) = each ($benutzer))
{
// SQL-Anweisung erstellen
$sql = „INSERT INTO „.
„benutzerdaten (Nickname, Kennwort, Nachname, Vorname) „.
„VALUES (’“.$value[„Nickname“].“’, '“.
md5 ($value[„Kennwort“]).“’, '“.
$value[„Nachname“]."’, ‚".
$value[„Vorname“]."‘)";
mysql_query ($sql);

if (mysql_affected_rows ($connectionid) > 0)
{
echo „Benutzer erfolgreich angelegt.
\n“;
}
else
{
echo „Fehler beim Anlegen der Benutzer.
\n“;
}
}
?> [/code]

Copy-Paste-Scripts sind für sowas 8gerade bei Anfängern) nicht wirklich gut geeignet. Klar ist es so bequem und schnell, nur ist der Lerneffekt und das Verstehend des Scriptes nicht gegeben.

Meine Empfehlung an dieser Stelle: Beschäftige dich ein bisschen mit php, besonders im Hinblick auf POST- bzw. GET-Variablen im zusammenspiel mit Formularen. Und natürlich mit der Verknüpfung zur Datenbank.

naja html behersche einwasndfrei also wäre halt das formular gar kein problem, nur das die datenbank dann die werte aus dem formulr aufnimmt ist jedoch für mich ein problem…
ausserdem ie ich dann das formular mit der php verbinde… o.0

Das Formular an die PHP-Datei übergeben ist eine der leichtesten Sachen… Dazu musst du im öffnenden FORM-Tag einfach action=“deinedatei.php” method=“POST” als Syntax hinzufügen.

Die Namen, die du den einzelnen Formular-Werten gegeben hast kannst du in der PHP-Datei direkt verwenden (GET-/POST-Variablen)

Das Einfügen der Daten in mySQl erfolgt über

mysql_query("INSERT INTO tabellenname (tabellenspalten, mit, kommata, getrennt) VALUES ('werte')") or die(mysql_error());

haa freu

das klappt schon ganz gut, ich benutze eine vorlage, von einem gästebuch, aber ändere das alles,

danke für deine hilfe

Kein Ding :slight_smile:

Dafür sind wir ja da :ps:

also, irgendow hat sich noch ein fehler eingeschlichen, nah dem abseinden formular komtm das hier

der code der seite:

[code]<?PHP require("config.php"); $sqlab = "INSERT INTO benutzerdaten"; $sqlab .= "(name ,passwort ,nachname ,vorname) values "; $sqlab .= "('".$_POST['name']."', '".$_POST['passwort']."', '".$_POST['nachname']."', '".$_POST['vorname']."')"; mysql_db_query($mysqldb, $sqlab) or die ("Es gibt zur Zeit Probleme mit unserer Datenbank! Bitte wenden Sie sich an: ".$web_mail." MySQL Server Meldet: ".mysql_error()); ?>

Javascript ist deaktiviert! Bitte hier klicken um zur Startseite zu gelangen [/code]

der code von config.php

[code]<?PHP
// —> config beginn

$mysqlhost =„localhost“; //<-- MySQL-host
$mysqluser =„pc-x_LoginSystem“; //<-- MySQL-benutzer
$mysqlpwd = „mein-passwort“; //<-- MySQL-passwort
$mysqldb = „pc-x_LoginSystem“; //<-- MySQL-datenbank
$web_mail = „info-spenden@pennergame.de“; //<-- Webmaster email
$titel = „Registrireren“; //<-- Seiten Titel
$adminusername = „pc-x_LoginSystem“; //<-- admin name
$adminpassword = „mein-passwort“; //<-- admin pw

// <— config ende || ab hier nichts mehr ändern!!

mysql_select_db($mysqldb,mysql_connect($mysqlhost,$mysqluser,$mysqlpwd)) or die("Es gibt zur Zeit Probleme mit unserer Datenbank! Bitte wenden Sie sich an: ".$web_mail);
?>[/code]

Wieso kommt immer dieser Fehler??

In der Tabelle ‚fiel list‘ gibt es anscheinend keine Spalte die ‚name‘ heißt.

omg, xD
ich hab stat nickname dort aus gewonnheit name verwendet !haue

so es klappt nun wirklich alles freu

könnt closen

Es wird erst geschlossen, wenn hier die Diskussion zu weit vom eigentlichen Thema abweicht. Es kann ja vlt. mal vorkommen, dass jemand (oder vlt sogar du9 noch eine Frage dazu hat, und dann kann er den thread reanimieren bevor er einen neuen aufmacht (Utopie :ps: )

ok, is auch gut soo :slight_smile:

Ich hab nämlich noch ein problem.
Durch ein script sollen die eingetragen daten auf einer seite einsehbar werden.
Das klappt auch alles wunderbar, nur ist auch ein link dabei, der sich im selben fenster öffnet, sich aber in einem neuem tab öffnen soll, ich habs schon immer mit target_blank prbiert klappt aber nicht…

[code]<?php

$daten=$_POST[eintrag].“
Spende $_POST[name] <a href=”$_POST[email]">$_POST[email]

";

$datenbank = “daten.dat”;

$datei = fopen($datenbank,“a”);

$eintrag=strip_tags($eintrag);

fwrite($datei, $daten);

?>

Eintrag erfolgreich.

Zurück zum Spenden[/code]

sah es wirklich so aus?

[quote]
Klick mich hart [/quote]

es sieht ja so aus:

[code]<?php

$daten=$_POST[eintrag].„
Spende $_POST[name] <a href="$_POST[email]" target=“_blank">$_POST[email]

";
$datenbank = „daten.dat“;

$datei = fopen($datenbank,„a“);

$eintrag=strip_tags($eintrag);

fwrite($datei, $daten);

?>

Eintrag erfolgreich.

Zurück zum Spenden[/code]

Da scheint wohl was mit den Anführungszeichen nicht zu stimmen…

ähhhhh, wo dass denn?

$daten=$_POST[eintrag]."<br>Spende $_POST[name] <a href=\"$_POST[email]\" target="_blank">$_POST[email]</a><br><br>";

Du mischt hier PHP mit HTML. Ich glaube nicht, dass der Server da irgendwas verarbeiten kann.