[PHP]script werkt wel op eigen systeem, niet na uploaden

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Zit hier met een gekmakend probleem. Ik heb een eenvoudige php pagina voor het verwerken van reacties op posts. Op de pagina article.php staat een form voor een reactie die ingevulde gegevens post naar plaatscomment.php. Nu had ik dat op mijn eigen systeem getest en de reactie wordt door plaatscomment.php keurig in de db opgeslagen en getoont op article.php.

Na uploaden naar mijn site blijkt plaatscomment.php de formvariables helemaal niet op te slaan in de db. plaatscomment.php krijgt de formulier gegevens wel toegestuurd wat blijkt uit het feit dat de controle op input wel werkt. Het lijkt fout te gaan bij de insert in de database. Heb error_reporting aanstaan en hij geeft ook geen fout of iets dergelijks. Ook de connectie met de database komt blijkbaar wel tot stand.

Zie ik (als beginnend php'er) iets volkomen logisch over het hoofd of zit er toch een fout in plaatscomment.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php require_once('Connections/connBlog.php'); ?>

<?php
if(isset($_POST['nieuwcomment'])){
  //Het formulier is ingevuld en verzonden

  //HTML- en PHP-tags verwijderen
  $name=mysql_escape_string(strip_tags($_POST['name']));
  $email=mysql_escape_string(strip_tags($_POST['email']));
  $homepage=mysql_escape_string(strip_tags($_POST['homepage']));
  $comment=mysql_escape_string(strip_tags($_POST['comment']));
    $date=mysql_escape_string(strip_tags($_POST['date']));
  $id_art_comment=mysql_escape_string(strip_tags($_POST['id_art_comment']));

    //invoer controleren
    if(strlen($name)<2){
    //Geen echte naam opgegeven
        $error_msg="<p><em>uw naam moet langer dan 1 karakter zijn</em></p>";
    }
    if(strlen($comment)<4){
    //Geen inhoud
        $error_msg.="<p><em>uw reactie moet langer dan 3 karakters zijn</em></p>";
    }
    if(ereg("^([a-zA-Z0-9]+\.)+([a-zA-Z]{2,4})$",$homepage)){
    //Er is ook een homepage opgegeven - zorg voor de opmaak
    if(!ereg("^http:////",$homepage)){
    //http:// ontbreekt - hier toevoegen
    $homepage="http://" . $homepage;
    }
    }
  //Einde controle
  
  if($error_msg){
  
//inhoud klopt niet - foutmelding weergeven en velden niet verwerken
    $message ="<p><strong>Helaas kunnen we uw reactie niet verwerken:</strong></p>";
    $message.=$error_msg;
    $message.="<p>Klik op <a href=javascript:history.back(1)>vorige</a> om het opnieuw te proberen</p>";
    echo $message;
    
  }else{

     //Nieuw bericht toevoegen
     $insert="INSERT INTO blg_comments_com (id_art_comment,name,email,homepage,comment,date) VALUES ('$id_art_comment','$name','$email','$homepage','$comment','$date')";
     mysql_query($insert);

  }
}
?>

  • mithras
  • Registratie: Maart 2003
  • Niet online
PHP:
1
mysql_query($insert);
is niet echt een nette oplossing. Soms heb je een result nodig om je query te laten afhandelen. Probeer eens
PHP:
1
$result = mysql_query($insert)or die(mysql_error());

Verwijderd

Druk $insert eens af? En idd, met een die kun je de error zien... Lijkt me verder wel goed.

Tabelstructuur is local het zelfde als remote?