Unlimited~Hack V3 > Coding/Scripting > PHP & MySql

 
Themen-Optionen
29.12.2009, 18:49   #1
GunN
Unlimited Member *V1*
 
 
Registriert seit: 24.12.2009
Beiträge: 33
[PHP] Kleines Klammerproblem

Hey eLute,

bin immernoch an PHP dran und hab jetzt ein kleines Gästbuch-Scrrippt mithilfe eines Tuts geschrieben

jedenfalls hab ich iwo ne Klammer zuviel unswar soll das iin Zeile 16 Sein, jedoch sehe ich die Klammer da richtig :S

Könntet ihr euch das mal angucken udn mir helfen? :S

Hier mein komplettes Script:

PHP-Code:
<?php 
error_reporting
(E_ALL);
ini_set("display_errors",1);

include 
"MQ.php";
include 
"include/db_connect.php";
readfile('include/header.html');


if (
'POST' == $_SERVER['REQUEST_METHOD']) {
    if (!isset(
$_POST['Autor'], $_POST['Inhalt'], $_POST['formaction'],$_POST['Antwort'])) {
        die (
"Bitte nur Formulare von der Seite Benutzen!");  
}
    if ((
'' == $autor trim($_POST['Autor'])) or
       ((
'' == $Inhalt trim($_POST['Inhalt'])) or
       ((
'' == $Antwort trim($_POST['Antwort']))) {
         die (
'Bitte Formular vollständig ausfüllen!'); {
       }
       
    if (
'Günay' != $Antwort) {
        die (
'Bitte Frage richtig beantworten!');
    }
    
    
$sql "INSERT INTO
                    TestGB(Autor,Datum,Inhalt)
                VALUES
                    (?,NOW(),?)"
;
                    
   
$stmt $db->prepare->($sql);
   
   if (!
$stmt) {
     die (
"Es konnte kein SQL-Query vorbereitet werden: <b>".$db->error."</b><br>"); 
   }
                    
   
$stmt bind_param('ss',$Autor,$Inhalt);   
   if (!
$stmt->execute()) {
      die (
"Das Query kontne nicht ausgeführt werden: <b>".$stmt->error."</b><br"); 
   }         
             
              echo 
'<p class="info">Gästebucheintrag hinzugefügt. <a href="GB.php">Zurück zum Gästebuch</a>.</p>';
             
  } else {
  
$sql "SELECT
              Datum,
              Autor,
              Inhalt
         FROM
              GB
         ORDER BY
              Datum DESC"
;
              
$result $db->query($sql);
if (!
$result) {
    die (
"Query konnte nicht ausgeführt werden. Grund: <b>".$db->error."</b><br>");

    
if (
$result->num_rows) {
  while (
$row $result->fetch_assoc()) {
        echo 
"<div class= 'Beitrag'>"."\n";
        echo 
"<span class='Autor'>".htmlspecialchars($row['Autor'])."</span>\n";
        echo 
"<span class='Datum'>".$row['Datum']."</span>\n";
        echo 
"<p>\n";
        echo 
nl2br(htmlspecialchars(preg_replace('~\S{30}~''\0'$row['Inhalt'])));
        echo 
"</p>\n";
        echo 
"</div>\n";       
     } 
   } else {
          echo 
"<p class 'Info'> Es sind keine Gästebucheinträge vorhanden!</p>";
          }         
}
        
readfile('include/footer.html');        
 
?>
Danke schonmal!!


Edit// Hier noch der Error:

Zitat:
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\Einfaches GB\GB.php on line 16
MfG GunN
__________________
Mein Marktplatzprofil: KLICK
Meine Userbewertung: KLICK

Geändert von GunN (29.12.2009 um 18:51 Uhr)
 
29.12.2009, 18:55   #2
Z4ppy
Moderator
 
 
Registriert seit: 11.09.2007
Ort: Schweiz
Beiträge: 519

Die folgende if-Abfrage ist fehlerhaft von den Klammern her:
In der zweiten und dritten Zeile müssten jeweils die ersten öffnenden Klammern weg
Btw: Von der Syntax if('' == $var = ...) hab ich noch nie was gehört ^^
PHP-Code:
if (('' == $autor trim($_POST['Autor'])) or
       ((
'' == $Inhalt trim($_POST['Inhalt'])) or
       ((
'' == $Antwort trim($_POST['Antwort']))) { 
Übrigens sind da die geschweiften Klammern ohnehin sinnlos, da du nur einen Befehl hast, kannst du die auch weglassen

MfG Z4ppy
__________________
1337 Hacker Pro+++: Conrado
Hier gibts übrigens noch die Erklärung zum Bild

Ich bin so Counter Strike, ich hab gar keine Zeit mehr, in die Schule zu gehen und Amok zu laufen...
Achja: ich bin kein CS Suchtie

Zitat:
Zitat von g_stylezZ
Wir sind hier bei UH und nicht bei Swiss...und du verzieh dich hinter deine Teleubbie Hügel und lass dich von dem Staubsauger Anal Stimmulieren
 
29.12.2009, 19:07   #3
GunN
Unlimited Member *V1*
 
 
Registriert seit: 24.12.2009
Beiträge: 33

Zitat:
Zitat von Z4ppy
Die folgende if-Abfrage ist fehlerhaft von den Klammern her:
In der zweiten und dritten Zeile müssten jeweils die ersten öffnenden Klammern weg
Btw: Von der Syntax if('' == $var = ...) hab ich noch nie was gehört ^^
PHP-Code:
if (('' == $autor trim($_POST['Autor'])) or
       ((
'' == $Inhalt trim($_POST['Inhalt'])) or
       ((
'' == $Antwort trim($_POST['Antwort']))) { 
Übrigens sind da die geschweiften Klammern ohnehin sinnlos, da du nur einen Befehl hast, kannst du die auch weglassen

MfG Z4ppy
Ich idiot Danke dir

Eine Frage noch:

Unswar wenn ich ejtzt mein Script teste, dann wir dimmer nur folgender Teil ausgeführt:

PHP-Code:
if ('POST' == $_SERVER['REQUEST_METHOD']) {
    if (!isset(
$_POST['Autor'], $_POST['Inhalt'], $_POST['formaction'],$_POST['Antwort'])) {
        die (
"Bitte nur Formulare von der Seite Benutzen!"); 
und das obwohl ich eig alles richtig ausfülle :S
__________________
Mein Marktplatzprofil: KLICK
Meine Userbewertung: KLICK
 
29.12.2009, 19:56   #4
Z4ppy
Moderator
 
 
Registriert seit: 11.09.2007
Ort: Schweiz
Beiträge: 519

Dann lass dir über print_r($_POST); mal den kompletten Inhalt der POST-Daten ausgeben Dann siehste sicher, welcher Wert da nicht übergeben wird...

MfG Z4ppy

PS.: Ich werd dir sicher nicht dein komplettes Skript überarbeiten
__________________
1337 Hacker Pro+++: Conrado
Hier gibts übrigens noch die Erklärung zum Bild

Ich bin so Counter Strike, ich hab gar keine Zeit mehr, in die Schule zu gehen und Amok zu laufen...
Achja: ich bin kein CS Suchtie

Zitat:
Zitat von g_stylezZ
Wir sind hier bei UH und nicht bei Swiss...und du verzieh dich hinter deine Teleubbie Hügel und lass dich von dem Staubsauger Anal Stimmulieren
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.

Design Developed by CompleteGFX
Powered by vBulletin®