[PHP] Probleempje met...

Pagina: 1
Acties:

  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
hey peeps , ik heb een klein probleempje met mijn nieuwssysteem script...ik vraag niet om te debuggen...
ik heb een database met 2 tabellen erin:
-nieuws
-reakties

velden in 'reakties':
id | auteur | datum | bericht | nid

Als er een reaktie wordt gepost over een nieuwsbericht hoort hij een $id (van nieuwsbericht) in de veld 'nid' te stoppen van tabel 'reakties' , maar wat doet hij : hij stopt $id derin (als TEKST) , hoe is dit op te lossen?
ik heb 2 bestanden om reakties toe te voegen:
1.addreaktie2db.php:
PHP:
1
<?if($action=='plaats'){mysql_connect("","","") or die ("Problem connecting to DataBase"); mysql_select_db("news") or die (mysql_error());$datum = date("H:i"); mysql_query("INSERT INTO reakties (id,nid,auteur,datum,bericht) VALUES ('$iddd','$id','$auteur','$datum','$bericht')") or die (mysql_error());echo "<font face='Verdana' size='1'><center>Information successfully added to database.<br>"; echo "<a href='../index.php'>Home</a></center></font>";}?>

2.addreaktie.php:
PHP:
1
<? <form action="addreaktie2db.php?action=plaats&amp;id=$id" method="post">                      <div align="center"><font face="Verdana" size="1">Naam:                         <br>                        <input type='text' name='auteur' class="unnamed2">                        <br>                        Bericht: <br>                        <textarea name='bericht' rows="10" cols="35" class="unnamed2"></textarea>                        <br>                        <br>                        <input type="submit" name="Submit" value="Submit" class="unnamed2">                        </font></div>                      <font face="Verdana" size="1"> </font> ?>

Wat doe ik fout?
tnx!!!!!!

"Try not to become a man of success but rather to become a man of value..."


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
laat maar ik heb het al opgelost! ik heb gewoon de addreaktie2db.php in de addreaktie.php gezet...
heel simpel , sorry peeps

"Try not to become a man of success but rather to become a man of value..."


Verwijderd

Kijk hier eens:
http://gathering.tweakers.net/forum/list_messages/33475

Daar hadden ze ook een probleempje met een $id variable

edit:

Okee dan!

  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
oh k*t , hij doet et wel , alleen... niet helemaal :) hij zet nu wel een variabel in nid , maar hij laat alleen de reaktie zien bij 1 nieuwsbericht :(

"Try not to become a man of success but rather to become a man of value..."


Verwijderd

Op woensdag 01 mei 2002 17:14 schreef LoW.R1D3R het volgende:
oh k*t , hij doet et wel , alleen... niet helemaal :) hij zet nu wel een variabel in nid , maar hij laat alleen de reaktie zien bij 1 nieuwsbericht :(
Code!?!?!?
Waarschijnlijk is het loopje niet ok

  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
PHP:
1
<?if($action=='plaats'){mysql_connect("localhost","","") or die ("Problem connecting to DataBase"); mysql_select_db("news") or die (mysql_error());$datum = date("H:i"); mysql_query("INSERT INTO reakties (id,nid,auteur,datum,bericht) VALUES ('$idd','$id','$auteur','$datum','$bericht')") or die (mysql_error());echo "<font face='Verdana' size='1'><center>Information successfully added to database.<br>"; echo "<a href='../index.php'>Home</a></center></font>";}?><font face="Verdana" size="1"> </font>                     <form action="addreaktie.php?action=plaats&amp;id=$id" method="post">                      <div align="center"><font face="Verdana" size="1">Naam:                         <br>                        <input type='text' name='auteur' class="unnamed2">                        <br>                        Bericht: <br>                        <textarea name='bericht' rows="10" cols="35" class="unnamed2"></textarea>                        <br>                        <br>                        <input type="submit" name="Submit" value="Submit" class="unnamed2">                        </font></div>                      <font face="Verdana" size="1"> </font>                     </form>?>

edit:
Hij zet elke keer een '2' in nid !! :(

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Uhm... waar VUL je die $id dan in dat formulier? Als ie daar iedere keer 2 is zal ie em ook al 2 in je database zetten.

Als je em aanroept met addreaktie.php?id=3, komt er dan niet gewoon een 3 in?

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
die $id haalt ie toch van de nieuwsbericht (bijvoorbeeld:

nieuwsbericht 6 : ../news/view.php3?id=6
reaktie: ../news/addreaktie.php?id=6

adres herkent ie wel gewoon (bedoel de variabel 6) maar hij zet toch een 2 in nid

[edit]
Als je em aanroept met addreaktie.php?id=3, komt er dan niet gewoon een 3 in?
dit is juist mn probleem , hij zet er elke keer een 2 in

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Ok.... Zet es bovenin je pagina na "if($action=='plaats'){":

echo "$id";

Komt er dan wel gewoon een 3 of wat anders door? En in je database is dat veld gewoon een INT?

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
als ik dat doe echo'ed ie ook alleen maar 2
en veld nid is geen INT maar gewoon varchar

edit:

volgens mij zit hier ergens de fout:
<form action="addreaktie.php?action=plaats&id=$id" method="post">

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Waarom zet je niet gewoon een hidden veldje in je formulier met de naam ID ipv bovenin? Dus:

<input type="hidden" name="id" value="$id">

En waarom is het geen INT veld dan? Er komen toch alleen maar getallen in?

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
hij echo'd dan nog steeds '2' HOE KOMT IE AAN 2!!!

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Post je code nog es, dit is wel maf ja.

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
ok hier komt ie :
addreaktie.php:
PHP:
1
<?if($action=='plaats'){mysql_connect("localhost","","") or die ("Problem connecting to DataBase"); mysql_select_db("news") or die (mysql_error());// db add $datum = date("H:i"); mysql_query("INSERT INTO reakties (id,nid,auteur,datum,bericht) VALUES ('$iddd','$id','$auteur','$datum','$bericht')") or die (mysql_error());echo "<font face='Verdana' size='1'><center>Information successfully added to database.<br>"; echo "<a href='../index.php'>Home</a></center></font>";}?>                    <form action="addreaktie.php?action=plaats&amp;id=$id" method="post">                      <div align="center"><font face="Verdana" size="1">Naam:                         <br>                        <input type='text' name='auteur' class="unnamed2">                        <br>                        Bericht: <br>                        <textarea name='bericht' rows="10" cols="35" class="unnamed2"></textarea>                        <br>                        <br>                        <input type="submit" name="Submit" value="Submit" class="unnamed2">                        </font></div>                      <font face="Verdana" size="1"> </font>                     </form>?>

ik weet zeker dat de fout in de form action="" zit...
maar nu bedenk ik ff , waar haalt ie idd de $id vandaan ? hij zou toch eerst connectie moeten maken met de nieuws tabel om de $id deruit te halen van de nieuwsbericht?

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
En als je em es $nid noemt ipv $id? Zou een vreemde reden zijn maar wie weet...

En dan dus ook bij de insert:

mysql_query("INSERT INTO reakties (id,nid,auteur,datum,bericht) VALUES ('$iddd','$nid','$auteur','$datum','$bericht')") or die (mysql_error());

- En wat betreft die ID:

Ja, je moet die ID wel meegeven aan deze pagina natuurlijk. Vandaar dat ik ook zei dat je em es moet aanroepen met ?id=3 erachter...

Wat jij kan kan ik ook maar dan harder...


Verwijderd

Op woensdag 01 mei 2002 18:23 schreef LoW.R1D3R het volgende:
<form action="addreaktie.php?action=plaats&id=$id" method="post">
$id (Bold) is buiten php gedaan, kun je daar dan wel een waarde aan geven :?
probeer dit eens te vervangen door
<? echo $id ?>
ofzow.

edit:
Donders php code quoten is niet mijn sterkste vak :(

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
<form action="addreaktie.php?action=plaats&id=$id" method="post">

Vreemde constructie omdit buiten je php script te zetten, hoe kan hij dan die id toewijzen :?

edit:
Alweer, te laat :(

  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
TERING! Natuurlijk! Shit... helemaal niet gezien!
Dat gaat zo inderdaad nooit werken. :)

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
humm true , maar hij zet nog steeds een 2 derin!! :( ik snap er geen snars meer van!

"Try not to become a man of success but rather to become a man of value..."


  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 25-08 14:17

Millennium

Bug free !!!

zoals al eerder gemeld:
<form action="addreaktie.php?action=plaats&id=$id" method="post">
geeft vaak problemen (iig bij mij wel, alles achter het "?" verdwijnt na een submit)

De oplossing is 2 hidden velden in je formpje stoppen en klaar :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="addreaktie.php" method="post">
<input type='hidden' name='action' value='plaats'>
<input type='hidden' name='id' value='$id'>
                      <div align="center"><font face="Verdana" size="1">Naam:
                        <br>
                        <input type='text' name='auteur' class="unnamed2">
                        <br>
                        Bericht: <br>
                        <textarea name='bericht' rows="10" cols="35" class="unnamed2"></textarea>
                        <br>
                        <br>
                        <input type="submit" name="Submit" value="Submit" class="unnamed2">
                        </font></div>
                      <font face="Verdana" size="1"> </font>
                    </form>

Rampen bak 2004


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Dat moet dan wel

<input type='hidden' name='id' value='<? echo $id; ?>'>

zijn he... :)


LoW.R1D3R: gewoon ff VIEW SOURCE doen in je browser en ff kijken of je nog ergens $id ziet staan... als het goed is niet. Zo ja, dan moet die dus nog ge-echoed worden.

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
naaaaa !!!! ter*ing ik snap het echt niet meer!! alles al geprobeerd en hij zet NOG STEEDS een 2 in NID!!!!

ik geef het op!

edit:

ik heb nu btw dit als code :
PHP:
1
<?if($action=='plaats'){mysql_connect("localhost","","") or die ("Problem connecting to DataBase"); mysql_select_db("news") or die (mysql_error());// db add $datum = date("H:i"); mysql_query("INSERT INTO reakties (id,nid,auteur,datum,bericht) VALUES ('$iddd','$id','$auteur','$datum','$bericht')") or die (mysql_error());echo "<font face='Verdana' size='1'><center>Information successfully added to database.<br>"; echo "<a href='../index.php'>Home</a></center></font>";}else {print "<form action='addreaktie.php' method='post'>       <input type='hidden' name='action' value='plaats'><input type='hidden' name='id' value='$id'><div align='center'><font face='Verdana' size='1'>Naam:<br>       <input type='text' name='auteur' class='unnamed2'><br>                        Bericht: <br>                        <textarea name='bericht' rows='10' cols='35' class='unnamed2'></textarea>                        <br>                        <br>                        <input type='submit' name='Submit' value='Submit' class='unnamed2'>                        </font></div>                      <font face='Verdana' size='1'> </font>                     </form>";}?>

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Zet het es ergens online en geef hier ff de URL. Kunnen we ff de output zien.

Wat jij kan kan ik ook maar dan harder...


Verwijderd

Op woensdag 01 mei 2002 18:37 schreef OmeRoon het volgende:
Dat moet dan wel

<input type='hidden' name='id' value='<? echo $id; ?>'>

zijn he... :)
Kunnen wij hieruit opmaken dat het nu werkt :?
Is trouwens wel leuk zo'n reactie systeem op nieuws.
/me Kijkt heel lief en vraagt mag ik vast ook wel gebruiken :)

[edit] hmmz niet dus
kijk eens in je database en let dan op waardes als $id.
mischien slaat hij ze verkeerd op[/edit

  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Kan het zijn dat een van die andere stukjes uit de pagina (bv. die nieuwtjes links) ook een variable $id gebruiken?

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
WTF HIJ DOET HET!!!! woehoe tnx dudes!! ff die script aan linker kant verwijderd en hij doet het ! (conflict :? ) maar hoe krijg ik dan toch die andere script erin om de links weer te geven in linker venster?
PHP:
1
<?mysql_connect("localhost","","") or die ("Problem connecting to DataBase"); mysql_select_db("news");$mysql = mysql_query("SELECT * FROM nieuws ORDER BY id DESC LIMIT 10"); // SQL query uitvoeren en alles uit db halen, LIMIT 10 betekend dat ie er maar 10 selecteerd while ($regel = mysql_fetch_array($mysql)){ $titel = $regel["titel"]; // veld ophalen uit tabel $datum = $regel["datum"]; $id = $regel["id"]; PRINT "<font color='#666666'>$datum&amp;nbsp;</font><a href='view.php3?id=$id'>$titel</a><br>"; } ?>     ?>

"Try not to become a man of success but rather to become a man of value..."


Verwijderd

PHP:
1
<?<form action='addreaktie.php?action=plaats&amp;amp;amp;amp;id=2' method='post'>?>

uit je source van nieuws item amd.
ik kon mijn post al niet terugvinden :(

maar gebruik je de variabele id vaker..
of post eens een stukje waarmee je je nieuws oproept, mischien zit daar een foutje.
wwa

donders :( veel te langzaam.

edit:

btw, als je een nieuws item bekijkt, dan zijn bij mij ineens de highlights weg.
en nu staan erineens ook reacties bij de andere nieuwsitems :)
ik blijf maar aan het editten :)

  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
edit:

btw, als je een nieuws item bekijkt, dan zijn bij mij ineens de highlights weg.
ja dat kwam omdat ik anders geen nieuwsberichten kon laten zien.. kreeg een zelfde soort effect als met dit :?

"Try not to become a man of success but rather to become a man of value..."


  • OmeRoon
  • Registratie: April 2002
  • Laatst online: 20-10-2025
Nou, gewoon ipv $id voor dit gedeelte overal $nid gebruiken en klaar. :)

Dus:

$nid = $regel["id"];
PRINT "<font color='#666666'>$datum </font><a href='view.php3?id=$nid'>$titel</a><br>";

Wat jij kan kan ik ook maar dan harder...


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
hoe bedoel je dat ? hij heeft toch $id nodig en niet $nid :?
of zie ik dat nou verkeerd?
edit:
d0h te traag :)

"Try not to become a man of success but rather to become a man of value..."


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
hahahhaahah phat! hij doet het! tnx doeds!

"Try not to become a man of success but rather to become a man of value..."


  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
Uit je eerste post kan ik al meteen opmaken dat je je blijkbaar niet echt concentreert als je je code intikt, dat is echter wel aan te raden.

Je gebruik van single en double quotes is enorm inconsequent.
Ik zelf gebruik voor het quoten van html meestal single quotes, voordeel: je hoeft dubbele quotes niet te escapen. nadeel: als je er een variabele tussen wilt printen moet het met ' . $var . ' (echter is er niets mis mee om een paar tekens extra te tiepen, dat maakt je code hooguit duidelijker en beter leesbaar.)

Voor SQL statements doe ik het andersom, dus standaard dubbele quotes omdat single quotes vaak in sql statements voorkomen.

Het quoten heb je in de latere voorbeelden blijkbaar wel verbeterd. De fout om $id niet binnen de php tags te gebruiken kan gebeuren, alleen had je het door er even zelf na te kijken denk ik ook zelf op kunnen lossen, aangezien het erg snel opvalt als je de output bekijkt.
Dat je niet om debuggen vraagt even daargelaten komt dan ook niet echt geloofwaardig over, want om meer gaat het hier niet, tenminste ik zie geen structureel vraagstuk. Het is meer een "waarom werkt mijn snippet script niet?" topic.

Misschien is het handig om eens een keer wat standaard debugging technieken te leren? Ik weet wel zeker dat je er hier op got een hoop voorbeelden kunt vinden, zoeken moet je alleen zelf even.

succes ermee.

[edit] bij nader inzien mag je topictitel ook iets duidelijker geformuleerd

Everyone complains of his memory, no one of his judgement.


  • flexje
  • Registratie: September 2001
  • Laatst online: 22:17

flexje

got-father

Topicstarter
probeer je me af te kraken ofzo? met je verkeerde been uit bed gestapt? pfff sorry hoor als ik de leuke regeltjes van de forum hiero per ongeluk heb overtreden :( pff alleen maar gezeik... en nee ik ga niet ergens anders heen want er zijn hier ten minste ook nog een paar koele dudes die je normaal helpen ipv te zeiken!

"Try not to become a man of success but rather to become a man of value..."


  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
Dat heb je niet goed begrepen dan. Als het zo overkwam ... mijn excuus.

vat het als constuctieve kritiek op, we zijn allemaal ooit begonnen en dat zijn een aantal dingen die het je makkelijker maken met php en op got.
En probeer ajb. je frustratie of wat het dan ook is niet hier op het forum te lozen, komt ook wat netter over dan. Je vraagt tenslotte om hulp.

Everyone complains of his memory, no one of his judgement.

Pagina: 1