Datenbankeintrag funktioniert nicht

Hi

frage wo werden die id die news_id und die ip erzeugt bzw in Variablen gespeichert?
die musst du dann nähmlich bei der query einfügen.

oder werden die als hidden über tragen

mfg mike4004
 
also das artet jetzt aus Ich habe das Problem doch genau beschrieben. Habe doch gesagt vor dem Wechsel lief alles!! Ich musste zum B bei einem Prob nur ein Get einfügen damit er die Variable erkennt, die ich per URL weitergegeben habe!!

Jetzt ist doch das Prob das er nichts einträgt. Also denke mal nicht das es daran liegt, oder täusche ich mich hier sehr!

ID und so werden ja übertragen, aber anscheinend die Inhalte der Felder nicht!
 
Zuletzt bearbeitet:
Hi


also noch mal die variablen $Array[id] und die anderen 2 müssen irgentwo her kommen entweder aus dem Formular als Hidden oder aus dem script und in dem script gibst keine array mit dem Namen $Array[id].

also musste es auch mit $_GET['name'] in den query bringen oder hidden.


also
PHP:
$dbanfrage = "INSERT into $tabelle values ('".$_GET[id]."', '".$_GET[news_id]."', '".$_GET[name]."', '".$_GET[email]."', '".$_GET[comment]."', '".time()."', '".$_GET[ip]."')";
 
@mike4004:

Also habe das mal gemacht, also deine zeile:

$dbanfrage = "INSERT into $tabelle values ('".$_GET[id]."', ....

eingefügt. Aber es will immer noch nicht. Ich habe mal geschaut, er legt in der Tabelle eine neue Zeile an, aber schreibt eben nirgens was rein, bis auf die Uhrzeit

Und wie meinst du deinen ersten Satz im letzten Beitrag. habe ich net verstanden!! Ich poste mal eben das Formular und meine derzeitige work.php. Wenn was falsch ist, mal bitte genau sagen, was falsch ist, nicht nur schnipsel!! Bin nämlich nicht der King in PHP. Habe mir mein Wissen per Learn by doing angeeignet!

PHP:
<form name='form1' method='post' action='http://www.hw-center.com/Scripte/News/newswork.php?nr=$br'>
<table width='45%' border='0'>
<tr>
<td class='ueberschrift'>Name:</td>
<td>
<input type='text' size= 40 name='Array[name]'>
<input type='hidden' value='$id' name='Array[news_id]'>
</td>
</tr>
<tr>
<td class='ueberschrift'>Email:</td>
<td>
<input type='text' size= 40 name='Array[email]'>
</td>
</tr>
<tr>
<td class='ueberschrift'>Kommentar:</td>
<td>
<textarea name='Array[comment]' rows='4' cols='45'></textarea>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type='submit' name='Abschicken' value='Abschicken'><input type=hidden name='Array[ip]' value='$REMOTE_ADDR'>
</td>
</tr>
</table>
</form>


Und hier die aktuelle work.php:

PHP:
<?php 
$dbserver = "xxx"; 
$dbuser = "xxx"; 
$dbpass = "xxx"; 
$dbname = "xxx"; 
$tabelle ="comment"; 

$dbverbindung = mysql_connect ($dbserver, $dbuser, $dbpass); 
mysql_connect("xxx","xxx","xxx"); 
mysql_select_db("xxx"); 

$br= $_GET['nr'];   //Holt die ID raus, die von dem Formular weitergegeben wird 

$db = mysql_connect ($dbserver, $dbuser, $dbpass); 
mysql_select_db ($dbname);  

$sql = "SELECT * FROM comment where ip='$REMOTE_ADDR' and news_id=$br"; 
$result = mysql_query($sql,$db); 
$ausgabe = mysql_fetch_array($result);  
$eintrag = $ausgabe["time"]; 

$zeit = time(); 
$sperre = 100; 

$ipsperre = $eintrag + $sperre; 
$ablauf = date("d.m.Y", $ipsperre); 

$sql = "select count(*) from comment where ip='$REMOTE_ADDR' and news_id=$br"; 
$res = mysql_query($sql); 
$row = mysql_fetch_row($res); 

if ($row[0]  >= 1 AND $ipsperre > $zeit){ 
           echo "Du hast in der letzten Minute schon ein Kommentar abgegeben."; 

        // IP wird nicht gefunden 
        } else  { 
          
           
         $dbanfrage = "INSERT into $tabelle values ('".$_GET[id]."', '".$_GET[news_id]."', '".$_GET[name]."', '".$_GET[email]."', '".$_GET[comment]."', '".time()."', '".$_GET[ip]."')";   
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { 
print ("Kommentar wurde hinzugefügt."); 
} else { 
print ("Kommentar wurde nicht hinzugefügt."); 
} 
        } 

mysql_close ($dbverbindung);
 
Also

probier mal das formular

PHP:
echo"<form name='form1' method='post' action='http://www.hw-center.com/Scripte/News/newswork.php?nr=".$br."'>";
echo"<table width='45%' border='0'>";
echo"<tr>";
echo"<td class='ueberschrift'>Name:</td>";
echo"<td>";
echo"<input type='text' size= 40 name='name'>";
echo"<input type='hidden' value='".$id."' name='news_id'>";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td class='ueberschrift'>Email:</td>";
echo"<td>";
echo"<input type='text' size= 40 name='email'>";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td class='ueberschrift'>Kommentar:</td>";
echo"<td>";
echo"<textarea name='comment' rows='4' cols='45'></textarea>";
echo"</td>";
echo"</tr>";
echo"<tr>";
echo"<td> </td>";
echo"<td>";
echo"<input type=hidden name='ip' value='".$_SERVER['REMOTE_ADDR']."'>";
echo"<input type='submit' name='Abschicken' value='Abschicken'>";
echo"</td>";
echo"</tr>";
echo"</table>";
echo"</form>";

und eine Variable ganz oben ändern
PHP:
$br= $_POST['nr'];

und die Query
PHP:
$sql = "SELECT * FROM comment where ip='".$_SERVER['REMOTE_ADDR']."' and news_id=$br";

und die query
PHP:
$dbanfrage = "INSERT into $tabelle values ('".$_POST['id']."', '".$_POST['news_id']."', '".$_POST['name']."', '".$_POST['email']."', '".$_POST['comment']."', '".time()."', '".$_POST['ip']."')";

oder lass dei altes script und sag dem Admin er soll in der php.ini einfach register_globals auf on setzten
 
Zuletzt bearbeitet:
Also habe es jetzt so gemacht, wie du es gesagt hast, aber er sagt folgenden Fehler:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Was nun?
 
Da hilft bei datenbankabfragen:
Einrücken. z.B.:
PHP:
"SELECT
    news_id
FROM
    blabla
WHERE
    blabla=$bla"

So kannst du besser erkennen, wo der Fehler liegt.
 
Zuletzt bearbeitet:
Also habe jetzt mal bissle rumgefrimmelt Also denke das ich den Fehler gefunden habe, weiß aber nicht wie ich ihn beheben kann. Ich habe mal die IP in der work.php generieren lassen haben und siehe da sie wird in die Datenbank eingetragen. Aber die anderen Daten werden nicht eingetragen. Also muss der Fehler bei der Übertragen der Formulardaten liegen. Er gibt sie einfach nicht an die work.php weiter. Bzw. die work.php kann diese net zuordnen

Weiß einer hier die fehlende Idee?
 
Zurück