Daten in eine db eintragen

Pumagirl8
Ich glaube, ich bin wirklich zu blöd dafür, seit 2 Tagen probier ich alle möglichen codes aus(ich möchte daten in eine datenbank eintragen), aber keiner geht, hier also mal mein neuester:

link: http://photocharts.po.ohost.de/test2.php
Datenbankabfragelink: http://photocharts.po.ohost.de/test.php


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<?php
if (!empty($_POST["submit"])) {

$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (id, name, rassse, geschlecht) VALUES ('$_POST[name]', '$_POST[rasse]', '$_POST[geschlecht]')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

<form action="" method="post">
Name: <input type="text" name="name"><br>
Rasse: <input type="text" name="rasse"><br>
Geschlecht: <input type="text" name="geschlecht"><br>

<input type="submit" value="Daten eintragen" name="submit">
</form>



Um Hilfe wäre ich wirklich dankbar Augenzwinkern
lycoos
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:

<?php
if (empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht'])) {

$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""pferde88") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (id, name, rassse, geschlecht) VALUES ('$_POST[name]', '$_POST[rasse]', '$_POST[geschlecht]')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

<form action="" method="post">
Name: <input type="text" name="name"><br>
Rasse: <input type="text" name="rasse"><br>
Geschlecht: <input type="text" name="geschlecht"><br>

<input type="submit" value="Daten eintragen" name="submit">
</form>


so wird es abgeschikt wenn alles angegeben ist!
Broken Sword
der fehler befindet sich im sql-code
php:
1:
$sql "INSERT INTO test (id, name, rassse, geschlecht) VALUES ('$_POST[name]', '$_POST[rasse]', '$_POST[geschlecht]')";

ID wird nicht eingegeben!!!
->schau mal nach auto_increment

btw: würde die funktion addslashes() nutzen sonst hast ne lücke in der sicherheit Müde
->außerdem passwort nie öffentlich posten, wenns nicht das richtige ist, sry oO



ps: nutze die funktion mysql_error() um heraus zu finden, welchen mysql-fehler du bekommst!
Pumagirl8
Es geht trotzdem nicht...

z.z. sieht es so aus:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<?php
if (empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht']))
{
$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('$_POST[name]', '$_POST[rasse]', '$_POST[geschlecht]')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

<form action="test2.php" method="post">
Name: <input type="text" name="name"><br>
Rasse: <input type="text" name="rasse"><br>
Geschlecht: <input type="text" name="geschlecht"><br>

<input type="submit" value="Daten eintragen" name="submit">
</form>


danke euch schonmal.
Game(R)ST
Versuch das mal als PHP
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:

<?php
if (empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht']))
{
$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('$name', '$rasse', '$geschlecht')";
if (mysql_query($sql) or DIE ("Fehler im Query: $sql:<br/>".mysql_error()) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>


Mach testweise bei jeder deiner Queryabfragen ein or DIE("SQL-Fehler im Query: $query <br/>".mysql_error());
Da findest meist die Fehler selbst!
Pumagirl8
mhh, das bringt irgendwie nichts, dann sagt der mir nach und nach, dass der ganze code falsch ist, habe hier schon wieder ne stunde dran rumprobiert.

die datei nochmal:
http://photocharts.po.ohost.de/test2.php

Also, wenn ich das so einfüge kommt diese meldung:
Parse error: syntax error, unexpected '{' in /usr/export/www/hosting/photocharts/test2.php on line 18

mache ich das { weg, kommt diese meldung:
Parse error: syntax error, unexpected T_ECHO in /usr/export/www/hosting/photocharts/test2.php on line 19

also, er sagt mir nach und nach, dass alles falsche ist.


Ich habe den code ja auch mehr oder weniger zusammengepuzzelt und wollte jetzt mal fragen, was das @ vor dem mysql_connect() bedeutet. Muss man da nicht eine variabel einsetzen ( also dann z.b. $db = mysql_connect() ) um die dann später wieder zu schließen?
TheShadow
Ich würde das ganze ja so machen:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<?php
if (empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht']))
{
$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('$_POST[name]', '$_POST[rasse]', '$_POST[geschlecht]')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
Name: <input type="text" name="name" values="<?php $_POST['name']; ?>"><br>
Rasse: <input type="text" name="rasse" values="<?php $_POST['rasse']; ?>"><br>
Geschlecht: <input type="text" name="geschlecht" values="<?php $_POST['geschlecht']; ?>"><br>
<input type="submit" value="Daten eintragen" name="submit">
</form>

Da ich aber kaum PHP kann, muss es nicht stimmen.^^
eichi
ups, verguggt sry ... -.-'
Game(R)ST
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:

<?php
if (empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht']))
{
$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

@mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('$name', '$rasse', '$geschlecht')";
$mysql mysql_query($sql) or DIE ("Fehler im Query: $sql:<br/>".mysql_error());
if($mysql==true) {
echo "<p>Dateneingabe erfolgreich!</p>";
} else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

Versuch mal das... so müsste es eigentlich gehen. Zumindest die Fehler ausgabe.
ArneTR
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<?php
if (!empty($_POST["submit"])) {

$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('".$_POST['name']."', '".$_POST['rasse']."', '".$_POST['geschlecht']."')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} 
else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

Form drunter und fertig
Game(R)ST
Zitat:
Original von ArneTR
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<?php
if (!empty($_POST["submit"])) {

$name $_POST['name'];
$rasse $_POST['rasse'];
$geschlecht $_POST['geschlecht'];

mysql_connect("localhost""photocharts""mein_pw") or die("Verbindung zu MySQL gescheitert!");
mysql_select_db("photocharts") or die("Datenbankzugriff gescheitert!");
$sql "INSERT INTO test (name, rassse, geschlecht) VALUES ('".$_POST['name']."', '".$_POST['rasse']."', '".$_POST['geschlecht']."')";
if (mysql_query($sql)) {
echo "<p>Dateneingabe erfolgreich!</p>";
} 
else {
echo "<p>Dateneingabe nicht erfolgreich!</p>";
}
mysql_close();
}
?>

Form drunter und fertig

Da frag ich mich echt warum bitte so, sie weißt die $_POST-Variabeln ja schon Variabeln zu.
Da ist es doppelt gemopelt, es reicht ja wenn sie $rasse usw. ein setzte in die Datenbankabfrage.
Ich würde jetzt aber mal $db = mysql_connect()
@mysql_select_db("dbname",$db)
und die Quertys lieber immer so
$query = mysql_query("Querystring",$db) or DIE(mysql_error());
und dann überprüfen ob $query == true ist. Es sieht besser aus, und man kann leichter ein Fehler nachprüfen. Augenzwinkern

2. Ist meine Version über deiner getestet und geht Fehlerfrei, ich habe nur das mit den { übersehen.
W00tkaeppi
Obwohl ich nicht wirklich viel Zeit habe, habe ich Dir das zusammengestellt. Probier mal aus, können durchaus Flüchtigkeitsfehler drin sein.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
/** GET THE DATA BY REG. GLOBALS **/
foreach($_POST as $postkey => $postvalue)
$$postkey $postvalue;

/** CHECK OUT THE FORMATIONS **/
if(empty($_POST['name']) && empty($_POST['rasse']) && empty($_POST['geschlecht']))
    {
    
    /** CHECK OUT THE FULLFILL **/
    echo("Bitte alle Felder ausfüllen.");
    }
    
    /** CHECK OUT THE NAME-FIELD **/
    elseif(empty($_POST['name']))
    {
    echo("Bitte gib einen Namen ein.");
    }
    
    /** CHECK OUT THE RACE-FIELD **/
    elseif(empty($_POST['rasse']))
    {
    echo("Bitte gebe eine Rasse an.");
    }
    
    /** CHECK OUT THE GENDER-FIELD **/
    elseif(empty($_POST['geschlecht']))
    {
    echo("Gib bitte ein Geschlecht an.");
    }
    
    /** SHOOT THE FORM INTO THE DATABASE **/
    else
    {
    
        /** CONNECT TO THE SQL-SERVER **/
        @mysql_connect("localhost""root""") or die("Verbindung zu MySQL gescheitert!");
    
        /** FIND OUT THE DATABASE **/
        @mysql_select_db("rasse") or die("Datenbankzugriff gescheitert!");
    
        /** FILL THE DATABASE WITH FGRMATIONS **/
        $sql mysql_query("INSERT INTO test (name, rasse, geschlecht) VALUES ('".addslashes($_POST['name'])."', '".$_POST['rasse']."', '".$_POST['geschlecht']."')") or die("<b>Fehler im Query ".$sql.":</b><br>".mysql_error()."");
    
        /** CHECK OUT THE CONNECTIVITY **/
        if(mysql_query($sql))
            {
            echo "<p>Dateneingabe erfolgreich!</p>";
            }
            else
            {
            echo "<p>Dateneingabe nicht erfolgreich!</p>";
            }
    
    /** KILL THE CONNECTIVITY **/
    mysql_close();
    
    /** CLOSE FORM **/
    }
    
echo("<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
Name: <input type=\"text\" name=\"name\" values=\"".$_POST['name']."\"><br>
Rasse: <input type=\"text\" name=\"rasse\" values=\"".$_POST['rasse']."\"><br>
Geschlecht: <input type=\"text\" name=\"geschlecht\" values=\"".$_POST['geschlecht']."\"><br>
<input type=\"submit\" value=\"Daten eintragen\" name=\"submit\">
</form>\n");
Pumagirl8
DANKE!!!!!!!!!!!!!
Es funzt!!!