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!
 

Lukiiii

Noch nicht viel geschrieben

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:

CIX88

Aktives Mitglied

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.
 

saila

Moderatorle

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) ."')";
 

CIX88

Aktives Mitglied

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

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben