Antworten auf deine Fragen:
Neues Thema erstellen

Probleme mit der Datenbank

JensenJR

Noch nicht viel geschrieben

Hallo,

ich unternehme meine ersten Versuche in Richtung Datenbankanbindung. Ich habe eine Datenbank angelegt mit 2 Tabellen. Das Problem ist nur, dass die Daten in der ersten Tabelle nicht gespeichert werden - in der zweiten Tabelle aber schon.

Wie kann ich den Fehler parsen? Ist Echo auch nach einem Insert möglich? Wo liegt mein Denkfehler? Die Rechtschreibung habe ich schon geprüft, konnte aber nichts finden.

Zum besseren Verständnis anbei das Script.

<?php

if ( isset($_GET['Vorname']) and isset ($_GET['Nachname']) and isset ($_GET['Email']) and isset ($_GET['Telefon']) and isset ($_GET['Gedichttitel']) and isset ($_GET['Gedicht']) )
{
require("inc/datenbank_kontakt.php");
$vname=$_GET['Vorname'];
$nname=$_GET['Nachname'];
$mail=$_GET['Email'];
$tel=$_GET['Telefon'];
$titel=$_GET['Gedichttitel'];
$gedicht=$_GET['Gedicht'];
$date = date("d. M. Y h:i");

$sql="INSERT INTO tbl_kontakt (t_vorname,t_nachname,t_email,t_telefon)"
. "VALUES ('$vname', '$nname', '$mail', '$tel')";

$sql="INSERT INTO tbl_wettbewerb (t_gedichttitel,t_gedicht,t_date)"
. "Values ('$titel', '$gedicht', '$date')";

mysql_query($sql) or die ("SQL: $sql ---falsch");

mysql_close($conn);


}
else
{
include ("inc/head.php");
?>
<body onload = document.getElementsByName("Vorname")[0].focus()>
<form action="index.php" method="get" name="Feedback">
<table>
<tr>
<td>Vorname:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Vorname" size="30" maxlength="30" onBlur="check_Vorname ()"></td>
</tr>
<tr>
<td>Nachname:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Nachname" size="30" maxlength="50" onBlur="check_Nachname ()"></td>
</tr>
<tr>
<td>Stra&szlig;e/Nr.:</td>
<td>&nbsp;</td>
<td><input type="text" name="Strasse" size="30" maxlength="50"></td>
</tr>
<tr>
<td>PLZ:</td>
<td>&nbsp;</td>
<td><input type="text" name="PLZ" size="5" maxlength="10"></td>
</tr>
<tr>
<td>Ort:</td>
<td>&nbsp;</td>
<td><input type="text" name="Ort" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Email:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Email" size="30" maxlength="50" onBlur="check_Mail ()"></td>
</tr>
<tr>
<td>Telefon:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Telefon" size="30" maxlength="50" onBlur="check_Telefon ()"></td>
</tr>
<tr>
<td>Gedichttitel:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Gedichttitel" size="30" maxlength="50" onBlur="check_Gedichttitel ()"></td>
</tr>
<tr>
<td>K&uuml;nstlername:</td>
<td>&nbsp;</td>
<td><input type="text" name="Kuenstlername" size="30" maxlength="50"></td>
</tr>
<tr>
<td class="test">Gedicht:</td>
<td class="Stil4">*</td>
<td><textarea name="Gedicht" rows="15" cols="22" onBlur="check_Gedicht ()"></textarea></td>
</tr>
</table>
<p><input type="submit" value="Abschicken" onclick="return check ()"></p>
</form>
<?php
include ("inc/foot.php");
}
?>


Danke für Eure Hilfe!
 

AW: Probleme mit der Datenbank

Ich habe es mal ein bisschen verändert.

Kannst du mal probieren, ob es funktionier!

<?php

if ( isset($_GET['Vorname']) and isset ($_GET['Nachname']) and isset ($_GET['Email']) and isset ($_GET['Telefon']) and isset ($_GET['Gedichttitel']) and isset ($_GET['Gedicht']) )
{
require("inc/datenbank_kontakt.php");
$vname=$_GET['Vorname'];
$nname=$_GET['Nachname'];
$mail=$_GET['Email'];
$tel=$_GET['Telefon'];
$titel=$_GET['Gedichttitel'];
$gedicht=$_GET['Gedicht'];
$date = date("d. M. Y h:i");

$sql_tabelle1 ="INSERT INTO tbl_kontakt (t_vorname,t_nachname,t_email,t_telefon)"
. "VALUES ('$vname', '$nname', '$mail', '$tel')";

$sql_tabelle2 ="INSERT INTO tbl_wettbewerb (t_gedichttitel,t_gedicht,t_date)"
. "Values ('$titel', '$gedicht', '$date')";

mysql_query($sql_tabelle1) or die ("SQL: $sql_tabelle1 ---falsch");
mysql_query($sql_tabelle2) or die ("SQL: $sql_tabelle2 ---falsch");

mysql_close($conn);


}
else
{
include ("inc/head.php");
?>
<body onload = document.getElementsByName("Vorname")[0].focus()>
<form action="index.php" method="get" name="Feedback">
<table>
<tr>
<td>Vorname:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Vorname" size="30" maxlength="30" onBlur="check_Vorname ()"></td>
</tr>
<tr>
<td>Nachname:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Nachname" size="30" maxlength="50" onBlur="check_Nachname ()"></td>
</tr>
<tr>
<td>Stra&szlig;e/Nr.:</td>
<td>&nbsp;</td>
<td><input type="text" name="Strasse" size="30" maxlength="50"></td>
</tr>
<tr>
<td>PLZ:</td>
<td>&nbsp;</td>
<td><input type="text" name="PLZ" size="5" maxlength="10"></td>
</tr>
<tr>
<td>Ort:</td>
<td>&nbsp;</td>
<td><input type="text" name="Ort" size="30" maxlength="50"></td>
</tr>
<tr>
<td>Email:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Email" size="30" maxlength="50" onBlur="check_Mail ()"></td>
</tr>
<tr>
<td>Telefon:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Telefon" size="30" maxlength="50" onBlur="check_Telefon ()"></td>
</tr>
<tr>
<td>Gedichttitel:</td>
<td class="Stil4">*</td>
<td><input type="text" name="Gedichttitel" size="30" maxlength="50" onBlur="check_Gedichttitel ()"></td>
</tr>
<tr>
<td>K&uuml;nstlername:</td>
<td>&nbsp;</td>
<td><input type="text" name="Kuenstlername" size="30" maxlength="50"></td>
</tr>
<tr>
<td class="test">Gedicht:</td>
<td class="Stil4">*</td>
<td><textarea name="Gedicht" rows="15" cols="22" onBlur="check_Gedicht ()"></textarea></td>
</tr>
</table>
<p><input type="submit" value="Abschicken" onclick="return check ()"></p>
</form>
<?php
include ("inc/foot.php");
}
?>
 
Zuletzt bearbeitet:
AW: Probleme mit der Datenbank

> Wie kann ich den Fehler parsen?
mit echo mysql_error();
Dann zeigt er dir warum das nicht ging.

unsauber
PHP:
$sql_tabelle2 ="INSERT INTO tbl_wettbewerb (t_gedichttitel,t_gedicht,t_date)"
. "Values ('$titel', '$gedicht', '$date')";

sauber
PHP:
$sql_tabelle2 ="
 INSERT INTO `tbl_wettbewerb` (`t_gedichttitel`,`t_gedicht`,`t_date`) 
 VALUES  ('".$titel."', '".$gedicht."', '".$date."')
 ";

Wobei man auch gleich schreiben kann:
PHP:
mysql_query("
 INSERT INTO `tbl_wettbewerb` (`t_gedichttitel`,`t_gedicht`,`t_date`) 
 VALUES  ('".$titel."', '".$gedicht."', '".$date."')
 ");

2 mal INSERT über ein mysql_query() geht schlecht.
 
AW: Probleme mit der Datenbank

@CIX88,

sauber ist das aber immer noch nicht ;)

PHP:
/**
* Sichere den übergebenen Wert bzgl. DB-Insert (Mindestsicherung)
* @param: string $escapes
*/
function escape( $var ) {
    return mysql_real_escape_string($var);
}

$sql_tabelle = "INSERT INTO tbl_wettbewerb (t_gedichttitel,t_gedicht,t_date) 
                  VALUES ('". escape($titel) ."', '". escape($gedicht) ."', '". escape($date) ."')";
 
AW: Probleme mit der Datenbank

Ja stimmt allerdings, sofern es nötig ist müsste da noch mysql_real_escape_string() mit rein.
Wobei bei einen Datum das wenig Sinn macht :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
119.026
Beiträge
1.540.437
Mitglieder
23.198
Neuestes Mitglied
Wema
Oben